body{margin:0;font-family:Aptos,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.flexible-width{min-width:0;width:auto;white-space:normal}.qa-header-title{color:#fff!important;font-size:2rem!important;font-weight:600;letter-spacing:.02em;margin-left:.5rem}.qa-auth-signed-in .user-email{color:#fff!important;font-size:.75rem!important;font-weight:400;line-height:1.1}:root{--primary-blue: #1e40af;--secondary-blue: #0891b2;--accent-cyan: #06b6d4;--text-primary: #1e293b;--text-secondary: #475569;--background-light: #f8fafc;--background-white: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--focus-outline: #3b82f6;--success-green: #059669;--warning-yellow: #d97706;--error-red: #dc2626}.ai-assistant-app{display:flex;height:100vh;background-color:var(--background-light);overflow:hidden;position:relative}.ai-assistant-main{flex:1;display:flex;flex-direction:column;min-width:0;transition:all .3s ease;background-color:var(--background-light)}.ai-assistant-main.sidebar-hidden{margin-left:0}body{margin:0;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--background-light);color:var(--text-primary);line-height:1.6}.ai-assistant-container{flex:1;display:flex;flex-direction:column;border-radius:0;box-shadow:none;background-color:var(--background-white);overflow:hidden;outline:none}.ai-assistant-container:focus-within{box-shadow:0 0 0 3px var(--focus-outline),0 4px 12px #0000001a}.ai-assistant-header{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.qa-header-left{display:flex;align-items:center;gap:12px}.qa-header-navigation{display:flex;align-items:center;gap:8px;margin-left:20px}.qa-nav-button{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center}.qa-nav-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.qa-nav-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.qa-nav-button.active{background-color:#fff3;border-color:#fff9}.qa-nav-button.analytics-link{text-decoration:none}.qa-nav-button.analytics-link:visited{color:#fff}.qa-header-language{margin-left:auto;display:flex;align-items:center}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.sidebar-toggle:hover{background-color:#ffffff1a}.sidebar-toggle:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.copy-conversation-btn{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:8px;opacity:.8}.copy-conversation-btn:hover{background-color:#ffffff1a;opacity:1}.copy-conversation-btn:focus{outline:2px solid var(--focus-outline);outline-offset:2px;opacity:1}.copy-conversation-btn:active{transform:scale(.95)}.qa-header-logo{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.qa-header-title{margin:0;font-size:1.5rem;color:#fff;font-weight:600}.qa-header-auth{margin-left:auto;text-align:right}.qa-auth-container{margin-bottom:16px}.qa-auth-signed-in{display:flex;flex-direction:column;align-items:flex-end;gap:4px;justify-content:flex-end}.qa-auth-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.qa-auth-signed-in .language-selector{margin:0}.qa-auth-signed-in .language-select{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.9rem;padding:6px 12px;border-radius:6px;min-width:120px;min-height:32px}.qa-auth-signed-in .language-select:hover{background:#ffffff4d;border-color:#ffffff80}.qa-auth-signed-in .language-select:focus{outline:2px solid white;outline-offset:2px;background:#ffffff4d}.qa-auth-signed-in .language-select option{background:var(--primary-blue);color:#fff}.user-email{font-size:.9rem;opacity:.95;color:#fff}.qa-auth-signed-in button,.btn-secondary{padding:6px 12px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;min-height:32px;min-width:32px}.qa-auth-signed-in button:hover,.btn-secondary:hover{background:#ffffff4d}.qa-auth-signed-in button:focus,.btn-secondary:focus{outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 2px #ffffff80}.references-btn{position:relative;display:flex;align-items:center;gap:6px}.reference-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:#ffffffe6;color:var(--primary-blue);border-radius:10px;font-size:.7rem;font-weight:700;margin-left:4px}.qa-chat-main{display:flex;flex-direction:column;flex:1;min-height:0}.qa-chat-window{padding:20px;flex:1;overflow-y:auto;background-color:var(--background-light);display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;outline:none}.welcome-message{text-align:center;padding:40px 20px;color:var(--text-secondary)}.welcome-message h2{color:var(--primary-blue);margin-bottom:16px;font-size:1.5rem}.welcome-tagline{color:var(--secondary-blue);font-style:italic;font-size:1rem;margin:8px 0 20px;opacity:.9;font-weight:500}.suggested-questions{margin-top:24px;text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.suggested-questions h3{color:var(--secondary-blue);font-size:1.1rem;margin-bottom:12px}.suggested-questions-list{display:flex;flex-direction:column;gap:8px}.suggested-question-button{background:var(--background-white);padding:12px 16px;border:1px solid var(--border-light);border-left:3px solid var(--accent-cyan);border-radius:4px;font-style:italic;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;white-space:nowrap}.suggested-question-button:hover{background:var(--background-light);border-left-color:var(--primary-blue);transform:translate(2px)}.suggested-question-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px;background:var(--background-light)}.suggested-question-button:active{background:var(--border-light);transform:translate(1px)}.qa-chat-bubble{max-width:70%;padding:12px 16px;border-radius:16px;line-height:1.4;position:relative;word-wrap:break-word}.qa-chat-bubble.user{background-color:#dbeafe;border:1px solid var(--primary-blue);align-self:flex-end;margin-left:auto;color:var(--primary-blue)}.qa-chat-bubble.bot{background-color:#ecfeff;border:1px solid var(--accent-cyan);align-self:flex-start;margin-right:auto;color:var(--secondary-blue)}.qa-chat-bubble.loading{display:flex;align-items:center;gap:8px}.message-content{margin-bottom:4px}.message-meta{font-size:.75rem;opacity:.7;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}.message-sender{font-weight:500}.message-sender .ai-disclaimer{font-weight:400;font-size:.7rem;opacity:.8;font-style:italic;color:var(--text-secondary)}.message-timestamp{font-size:.7rem;opacity:.6;font-style:italic;white-space:nowrap}.message-sources{margin-top:12px;padding-top:8px;border-top:1px solid var(--border-light)}.sources-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:6px}.sources-list{display:flex;flex-direction:column;gap:4px}.source-item{display:flex;align-items:center}.source-link{color:var(--primary-blue);text-decoration:none;font-size:.85rem;padding:2px 4px;border-radius:4px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.source-link:hover{background-color:var(--background-light);text-decoration:underline}.source-link:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.source-document-link{background:none;border:none;font-family:inherit;cursor:pointer;text-decoration:underline}.source-document-link:hover{text-decoration:underline;background-color:var(--background-light)}.source-document-link:active{transform:scale(.98)}.source-link-readonly{cursor:default;color:var(--text-secondary)}.source-text{color:var(--text-secondary);font-size:.85rem;padding:2px 4px;display:inline-flex;align-items:center;gap:4px;cursor:default}@media (prefers-contrast: high){.source-link{border:1px solid var(--primary-blue)}.source-text{border:1px solid var(--text-secondary)}}.inline-citation{background:none;border:none;color:var(--primary-blue)!important;text-decoration:underline;cursor:pointer!important;font-size:inherit;font-family:inherit;padding:0;margin:0;transition:all .2s ease;border-radius:2px;display:inline;vertical-align:baseline;line-height:inherit;pointer-events:auto!important}.inline-citation:hover{color:var(--secondary-blue)!important;background-color:var(--background-light);padding:2px 4px;margin:-2px -4px;text-decoration:underline}.inline-citation:focus{outline:2px solid var(--focus-outline);outline-offset:2px;background-color:var(--background-light);padding:2px 4px}.inline-citation:active{color:var(--primary-blue)!important;transform:scale(.98)}.message-content .inline-citation,.markdown-p .inline-citation,p .inline-citation{color:var(--primary-blue)!important;cursor:pointer!important;text-decoration:underline}.source-highlight{background-color:#fef08a;border:2px solid #eab308;animation:highlight-pulse 2s ease-in-out;border-radius:4px;padding:4px;margin:-4px}@keyframes highlight-pulse{0%{background-color:#fef08a;transform:scale(1.02)}50%{background-color:#fde68a}to{background-color:transparent;transform:scale(1)}}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{animation:typing-pulse 1.4s infinite;font-size:1.2em}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,60%,to{opacity:.3}30%{opacity:1}}.conversation-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text-secondary);font-size:.95rem}.conversation-loading .loading-spinner{width:20px;height:20px;border:2px solid var(--border-light);border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.typing-indicator span{animation:none;opacity:1}.conversation-loading .loading-spinner{animation:none;border-top-color:var(--text-secondary)}.qa-chat-window{scroll-behavior:auto}}.qa-input-area{display:flex;padding:16px;border-top:1px solid var(--border-light);background-color:var(--background-white)}.qa-input-area .chatbot-input,.qa-input-area .chat-with-documents{width:100%}.input-group{display:flex;width:100%;gap:8px;align-items:flex-end}.qa-input-area input{flex-grow:1;padding:12px;border:2px solid var(--border-medium);border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;min-height:20px;font-family:inherit}.qa-input-area input:focus{outline:none;border-color:var(--secondary-blue);box-shadow:0 0 0 3px #0891b21a}.qa-input-area input:disabled{background-color:#f1f5f9;color:var(--text-secondary);cursor:not-allowed}.send-button{padding:12px 20px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:6px;min-height:44px;min-width:44px}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1e40af4d}.send-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button-text{font-weight:600}@media (prefers-contrast: high){.qa-chat-bubble{border-width:2px}.send-button,.btn-secondary{border:2px solid currentColor}.qa-input-area input{border-width:3px}}@media (max-width: 768px){.ai-assistant-container{width:95vw;height:90vh;top:45%}.ai-assistant-header{padding:16px}.qa-header-title{font-size:1.3rem}.qa-chat-window{padding:16px}.qa-chat-bubble{max-width:85%}.qa-input-area{padding:12px}.send-button .button-text{display:none}.qa-auth-signed-in{flex-direction:column;gap:4px;align-items:flex-end}.message-meta{flex-direction:column;align-items:flex-start;gap:2px}.message-timestamp{align-self:flex-end;font-size:.65rem}}@media (max-width: 480px){.ai-assistant-container{width:100vw;height:100vh;border-radius:0;top:50%}.qa-header-left{gap:8px}.qa-header-logo{width:32px;height:32px}.qa-header-title{font-size:1.2rem}}.qa-document-preview{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:1000;padding:20px 20px 80px;border-left:2px solid var(--border-light);background-color:var(--background-white);box-shadow:-2px 0 10px #00000014;transition:transform .3s ease,box-shadow .3s ease,width .3s ease;overflow-y:auto}@media (max-width: 1024px){.qa-document-preview{width:320px}}@media (max-width: 840px){.qa-document-preview{position:static;width:100%;box-shadow:none;border-left:none;border-top:2px solid var(--border-light);padding:16px 16px 40px}.ai-assistant-main.preview-visible{margin-right:0!important}}.ai-assistant-main.preview-visible{margin-right:380px;transition:margin-right .3s ease}@media (max-width: 1024px){.ai-assistant-main.preview-visible{margin-right:320px}}.document-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;position:relative;cursor:pointer;padding:4px 0;border-radius:4px;transition:background-color .2s ease}.document-header:hover{background-color:var(--border-light)}.document-logo{width:24px;height:24px;object-fit:contain;opacity:.7}.qa-document-preview h3{margin:0;font-size:1.2rem;color:var(--primary-blue)}.document-header{position:relative}.collapse-toggle{background:none;border:none;cursor:pointer;padding:4px;margin-left:auto;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.collapse-toggle:hover{background-color:var(--border-light)}.collapse-toggle:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.collapse-icon{font-size:.875rem;color:var(--text-secondary);transition:transform .3s ease}.collapse-icon.collapsed{transform:rotate(0)}.document-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;max-height:500px;opacity:1}.document-content.collapsed{max-height:0;opacity:0;padding:0}.qa-document-preview.collapsed{width:52px;padding:12px 8px;overflow:hidden}@media (max-width: 840px){.qa-document-preview.collapsed{width:100%;padding:12px 16px}}.signing-in-message{display:flex;align-items:center;gap:8px;padding:12px;background:var(--background-light);border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary)}.skip-to-content{position:absolute;top:-40px;left:6px;background:var(--primary-blue);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.skip-to-content:focus{top:6px}@media print{.ai-assistant-container{width:100%;height:auto;position:static;transform:none;box-shadow:none;border:1px solid #000}.ai-assistant-header,.qa-input-area,.send-button{display:none}.qa-chat-window{height:auto;overflow:visible;background:#fff}.qa-chat-bubble{break-inside:avoid;max-width:100%;margin:12px 0;border:1px solid #000;background:#fff!important;color:#000!important}}.ai-assistant-container[role=application]:focus{outline:3px solid var(--focus-outline);outline-offset:-3px}.clear-chat-container{display:flex;justify-content:center;padding:8px 16px;border-top:1px solid var(--border-light);background-color:var(--background-white)}.clear-chat-button{padding:8px 16px;background:var(--background-light);color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:6px;min-height:36px;opacity:.8}.clear-chat-button:hover{background:#fef2f2;border-color:#fca5a5;color:var(--error-red);opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px #dc26261a}.clear-chat-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.clear-chat-button:active{transform:translateY(0);box-shadow:0 1px 4px #dc26261a}.status-announcement{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.markdown-table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.9rem;line-height:1.4;background-color:var(--background-white);border:2px solid var(--border-medium);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.markdown-thead{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:#fff}.markdown-th{padding:12px 16px;text-align:left;font-weight:600;border:none;position:relative;vertical-align:middle}.markdown-th:not(:last-child){border-right:1px solid rgba(255,255,255,.3)}.markdown-tbody{background-color:var(--background-white)}.markdown-tr{transition:background-color .2s ease;border-bottom:1px solid var(--border-light)}.markdown-tr:last-child{border-bottom:none}.markdown-tbody .markdown-tr:nth-child(2n){background-color:#f8fafc}.markdown-tbody .markdown-tr:hover{background-color:#e2e8f0}.markdown-td{padding:12px 16px;border:none;vertical-align:top;color:var(--text-primary)}.markdown-td:not(:last-child){border-right:1px solid var(--border-light)}.markdown-table{caption-side:top}@media (max-width: 768px){.markdown-table{font-size:.8rem;display:block;overflow-x:auto;white-space:nowrap;border-radius:6px}.markdown-th,.markdown-td{padding:8px 12px;min-width:120px}}@media (max-width: 480px){.markdown-table{font-size:.75rem}.markdown-th,.markdown-td{padding:6px 8px;min-width:100px}}@media (prefers-contrast: high){.markdown-table{border:3px solid var(--text-primary)}.markdown-th{background:var(--text-primary);color:var(--background-white);border-color:var(--text-primary)}.markdown-tbody .markdown-tr:nth-child(2n){background-color:#f1f5f9}.markdown-td{border-color:var(--text-primary)}}.markdown-th:focus,.markdown-td:focus{outline:2px solid var(--focus-outline);outline-offset:-2px;background-color:#3b82f61a}@media print{.markdown-table{break-inside:avoid;border:2px solid #000;background:#fff!important;box-shadow:none}.markdown-th{background:#000!important;color:#fff!important}.markdown-tbody .markdown-tr:nth-child(2n){background:#f5f5f5!important}.markdown-td,.markdown-th{border:1px solid #000!important}}@media (max-width: 768px){.qa-document-preview{left:280px}}@media (max-width: 480px){.qa-document-preview{left:260px}}.saved-queries-btn{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem 1rem;white-space:nowrap}.saved-queries-btn:hover{background-color:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.message-save-btn{margin-left:.75rem;opacity:0;transition:opacity .2s ease}.qa-chat-bubble.user:hover .message-save-btn{opacity:1}.qa-chat-bubble.user .message-content{display:flex;align-items:center;justify-content:space-between}@media (max-width: 768px){.saved-queries-btn{padding:.375rem .75rem;font-size:.8rem}.saved-queries-btn span{display:none}.message-save-btn{opacity:1}}.welcome-questions-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.suggested-questions-column,.saved-questions-column{display:flex;flex-direction:column}.suggested-questions-column h3,.saved-questions-column h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.saved-queries-icon{color:#f59e0b}.suggested-questions-list,.saved-questions-list{display:flex;flex-direction:column;gap:.75rem;flex:1}.saved-question-button{background:var(--background-white);padding:12px 16px;border:1px solid var(--border-light);border-left:3px solid var(--accent-cyan);border-radius:4px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;color:var(--text-primary);font-size:.875rem;line-height:1.4;white-space:nowrap}.saved-question-button:hover{background:var(--background-light);border-left-color:var(--primary-blue);transform:translate(2px)}.saved-question-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px;background:var(--background-light)}.saved-question-button:active{background:var(--border-light);transform:translate(1px)}.saved-question-title{font-weight:400;display:block;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal;font-style:italic}.no-saved-queries{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-secondary);border:2px dashed var(--border-light);border-radius:.75rem;background:var(--background-light)}.no-saved-text{margin:0 0 .5rem;font-weight:500;color:var(--text-secondary)}.no-saved-hint{margin:0;font-size:.875rem;color:var(--text-tertiary, #9ca3af)}.view-all-saved-button{margin-top:1rem;padding:.75rem 1rem;background:var(--background-white);border:1px solid var(--border-light);border-left:3px solid var(--accent-cyan);border-radius:4px;color:var(--primary-blue);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;text-align:left}.view-all-saved-button:hover{background:var(--background-light);border-left-color:var(--primary-blue);transform:translate(2px)}.view-all-saved-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px;background:var(--background-light)}@media (max-width: 1024px){.welcome-questions-container{gap:1.5rem}}@media (max-width: 768px){.welcome-questions-container{grid-template-columns:1fr;gap:2rem}.suggested-questions-column,.saved-questions-column{width:100%}}@media (max-width: 480px){.qa-header-auth{gap:.25rem}.saved-queries-btn{padding:.25rem .5rem;min-width:auto}.welcome-questions-container{gap:1.5rem}.suggested-questions-column h3,.saved-questions-column h3{font-size:1rem}.saved-question-button,.suggested-question-button{padding:.875rem;font-size:.8125rem}}.assistant-theme-qms .ai-assistant-header{background:linear-gradient(135deg,#10b981,#059669)}.assistant-theme-qms .qa-header-title{color:#fff!important}.assistant-theme-qms .qa-chat-bubble.bot{background-color:#f0fdf4;border:1px solid #10b981;color:#065f46}.assistant-theme-qms .send-button{background:linear-gradient(135deg,#10b981,#059669)}.assistant-theme-qms .send-button:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d}.assistant-theme-qms .qa-input-area input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.assistant-theme-clinicals .ai-assistant-header{background:linear-gradient(135deg,#ef4444,#dc2626)}.assistant-theme-clinicals .qa-header-title{color:#fff!important}.assistant-theme-clinicals .qa-chat-bubble.bot{background-color:#fef2f2;border:1px solid #ef4444;color:#7f1d1d}.assistant-theme-clinicals .send-button{background:linear-gradient(135deg,#ef4444,#dc2626)}.assistant-theme-clinicals .send-button:hover:not(:disabled){box-shadow:0 4px 12px #ef44444d}.assistant-theme-clinicals .qa-input-area input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.assistant-theme-innovation .ai-assistant-header{background:linear-gradient(135deg,#3b82f6,#2563eb)}.assistant-theme-innovation .qa-header-title{color:#fff!important}.assistant-theme-innovation .qa-chat-bubble.bot{background-color:#eff6ff;border:1px solid #3b82f6;color:#1e40af}.assistant-theme-innovation .send-button{background:linear-gradient(135deg,#3b82f6,#2563eb)}.assistant-theme-innovation .send-button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d}.assistant-theme-innovation .qa-input-area input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.assistant-theme-pms .ai-assistant-header{background:linear-gradient(135deg,#f59e0b,#d97706)}.assistant-theme-pms .qa-header-title{color:#fff!important}.assistant-theme-pms .qa-chat-bubble.bot{background-color:#fffbeb;border:1px solid #f59e0b;color:#92400e}.assistant-theme-pms .send-button{background:linear-gradient(135deg,#f59e0b,#d97706)}.assistant-theme-pms .send-button:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b4d}.assistant-theme-pms .qa-input-area input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.assistant-theme-claims .ai-assistant-header{background:linear-gradient(135deg,#a855f7,#7e22ce)}.assistant-theme-claims .qa-header-title{color:#fff!important}.assistant-theme-claims .qa-chat-bubble.bot{background-color:#f3e8ff;border:1px solid #a855f7;color:#6b21a8}.assistant-theme-claims .send-button{background:linear-gradient(135deg,#a855f7,#7e22ce)}.assistant-theme-claims .send-button:hover:not(:disabled){box-shadow:0 4px 12px #a855f74d}.assistant-theme-claims .qa-input-area input:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f71a}.fab-container{position:fixed;bottom:140px;right:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.floating-new-chat-button{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 16px #1e40af4d;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:scale(.8) translateY(20px);pointer-events:none}.floating-new-chat-button .fab-icon{transition:transform .3s ease}.floating-new-chat-button.active .fab-icon{transform:rotate(45deg)}.sidebar-hidden .fab-container{pointer-events:auto}.sidebar-hidden .floating-new-chat-button{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.floating-new-chat-button:hover{background:linear-gradient(135deg,var(--secondary-blue) 0%,var(--accent-cyan) 100%);transform:scale(1.1) translateY(-2px);box-shadow:0 8px 24px #1e40af66}.floating-new-chat-button:focus{outline:3px solid var(--focus-outline);outline-offset:3px;transform:scale(1.05)}.floating-new-chat-button:active{transform:scale(.95) translateY(1px);box-shadow:0 2px 8px #1e40af33}.floating-new-chat-button svg{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.fab-menu{display:flex;flex-direction:column;gap:8px;animation:fabMenuSlideIn .3s cubic-bezier(.4,0,.2,1)}.fab-menu-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border:1px solid var(--border-light);border-radius:28px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 12px #1e40af26;min-width:180px;font-size:.9375rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.fab-menu-item:hover{background:var(--background-light);transform:translate(-4px);box-shadow:0 4px 16px #1e40af40;border-color:var(--primary-blue)}.fab-menu-item:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.fab-menu-item:active{transform:translate(-4px) scale(.98)}.fab-menu-item svg{width:20px;height:20px;color:var(--primary-blue);flex-shrink:0}@keyframes fabMenuSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.fab-container{bottom:120px;right:16px}.floating-new-chat-button{width:52px;height:52px;font-size:1.25rem}.floating-new-chat-button svg{width:20px;height:20px}.fab-menu-item{padding:10px 16px;min-width:160px;font-size:.875rem}.fab-menu-item svg{width:18px;height:18px}}@media (max-width: 480px){.fab-container{bottom:100px;right:12px}.floating-new-chat-button{width:48px;height:48px;font-size:1rem}.floating-new-chat-button svg{width:18px;height:18px}.fab-menu-item{padding:8px 14px;min-width:150px;font-size:.8125rem;gap:10px}.fab-menu-item svg{width:16px;height:16px}}@keyframes floatingButtonSlideIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes floatingButtonSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(20px)}}.assistant-theme-clinicals .floating-new-chat-button{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px #ef44444d}.assistant-theme-clinicals .floating-new-chat-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 24px #ef444466}.assistant-theme-innovation .floating-new-chat-button{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 16px #3b82f64d}.assistant-theme-innovation .floating-new-chat-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 24px #3b82f666}.assistant-theme-pms .floating-new-chat-button{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 16px #f59e0b4d}.assistant-theme-pms .floating-new-chat-button:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 8px 24px #f59e0b66}.copy-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;opacity:0;visibility:hidden;position:absolute;top:8px;right:8px;z-index:10}.copy-button:hover{color:var(--primary-blue);background-color:var(--background-light)}.copy-button:focus{outline:2px solid var(--focus-outline);outline-offset:2px;opacity:1;visibility:visible}.copy-button:active{transform:scale(.95)}.message-actions{display:flex;gap:4px;align-items:center;margin-top:4px}.message-actions .copy-button{position:static;opacity:0;visibility:hidden}.qa-chat-bubble:hover .copy-button,.qa-chat-bubble.user:hover .message-actions .copy-button{opacity:1;visibility:visible}.qa-chat-bubble.user .message-content,.qa-chat-bubble.bot .message-content{position:relative}.copy-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background-color:var(--success-green);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1000;animation:slideUp .3s ease-out}.copy-toast-content{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.copy-button{opacity:1;visibility:visible;position:static;margin-left:auto}.message-actions{margin-top:8px}.copy-toast{left:20px;right:20px;transform:none;bottom:80px}}.document-generator-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-in-out}.document-generator-modal-overlay .document-generator-container{position:relative;width:90%;max-width:900px;height:90vh;max-height:900px;margin:0;border-radius:.75rem;box-shadow:0 20px 60px #0000004d;animation:slideInModal .3s cubic-bezier(.4,0,.2,1)}@keyframes slideInModal{0%{transform:scale(.95) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (max-width: 768px){.document-generator-modal-overlay{align-items:flex-end;justify-content:center}.document-generator-modal-overlay .document-generator-container{width:100%;max-width:100%;max-height:95vh;border-radius:1rem 1rem 0 0}}@media (max-width: 480px){.document-generator-modal-overlay .document-generator-container{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}}.backend-status{display:flex;justify-content:flex-end;padding:8px 16px 4px;z-index:100;font-family:Aptos,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.chat-backend-status{position:relative;margin-bottom:8px}.backend-status.fixed-position{position:fixed;top:10px;right:10px;z-index:1000;padding:0}.backend-status-indicator{display:flex;align-items:center;background:#fffffff2;border:1px solid #e5e7eb;border-radius:20px;padding:6px 10px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;font-size:12px}.backend-status-indicator:hover{background:#fff;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.backend-status-indicator.expanded{border-radius:8px;padding:10px;width:200px;flex-direction:column;align-items:flex-start}.status-dot{width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0;transition:background-color .3s ease}.backend-status-indicator.expanded .status-dot{margin-right:0;margin-bottom:6px}.status-details{display:flex;flex-direction:column;width:100%;min-width:0}.status-text{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:4px}.status-label{font-size:12px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-time{font-size:10px;color:#6b7280;font-weight:400;white-space:nowrap;margin-left:8px}.status-message{font-size:10px;color:#ef4444;background:#ef44441a;padding:4px 6px;border-radius:4px;margin-bottom:8px;word-break:break-word;line-height:1.3}.status-message.healthy{color:#15803d;background:#22c55e1a}.status-config{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:10px;line-height:1.2}.config-section{display:flex;justify-content:space-between;align-items:center}.config-label{font-weight:500;color:#6b7280;white-space:nowrap;margin-right:8px}.config-value{font-weight:400;color:#374151;text-align:right;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.status-actions{display:flex;justify-content:space-between;align-items:center;width:100%}.status-refresh{background:none;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px;color:#6b7280;transition:all .2s ease;flex-shrink:0}.status-refresh:disabled{opacity:.5;cursor:not-allowed}.check-count{font-size:9px;color:#9ca3af;background:#9ca3af1a;padding:2px 4px;border-radius:3px;font-weight:500}.status-refresh:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.status-refresh:active{transform:scale(.95)}.status-dot.healthy{background-color:#22c55e!important}.status-dot.unhealthy{background-color:#f59e0b!important}.status-dot.unreachable{background-color:#ef4444!important}.status-dot.checking{background-color:#6b7280!important;animation:pulse 2s infinite}@media (prefers-color-scheme: dark){.backend-status-indicator{background:#1f2937f2;border-color:#4b5563;color:#f9fafb}.backend-status-indicator:hover{background:#1f2937}.status-label{color:#f9fafb}.status-time{color:#9ca3af}.status-refresh{border-color:#4b5563;color:#9ca3af;background:transparent}.status-refresh:hover{background:#4b55634d;border-color:#6b7280;color:#f9fafb}.config-label{color:#9ca3af}.config-value{color:#f9fafb}}@media (max-width: 768px){.backend-status.fixed-position{top:8px;right:8px}.backend-status-indicator.expanded{width:180px}.chat-backend-status{padding:6px 8px 4px}}.backend-status-indicator:focus{outline:2px solid #3b82f6;outline-offset:2px}.status-refresh:focus{outline:2px solid #3b82f6;outline-offset:2px}.status-dot{animation:statusChange .3s ease-in-out}@keyframes statusChange{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#1e40af26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.confirm-dialog{background:#fff;border-radius:8px;box-shadow:0 6px 20px #1e40af4d;max-width:380px;width:90%;overflow:hidden;transform:scale(.95);animation:scaleIn .15s ease-out forwards;border:1px solid #e2e8f0;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.confirm-dialog.danger{border-top:3px solid #dc2626}.confirm-dialog.warning{border-top:3px solid #1e40af}.confirm-dialog.info{border-top:3px solid #0891b2}.confirm-dialog-header{display:flex;align-items:center;padding:16px 20px 12px;border-bottom:1px solid #e2e8f0}.confirm-dialog-icon{font-size:20px;margin-right:10px;flex-shrink:0}.confirm-dialog-title{margin:0;font-size:16px;font-weight:600;color:#1e293b;line-height:1.3}.confirm-dialog-body{padding:12px 20px 16px}.confirm-dialog-message{margin:0;color:#475569;line-height:1.4;font-size:14px}.confirm-dialog-actions{display:flex;gap:8px;padding:0 20px 16px;justify-content:flex-end}.confirm-dialog-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid;cursor:pointer;transition:all .2s ease;min-width:70px}.cancel-btn:hover{background-color:#f8fafc;border-color:#1e40af}.cancel-btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.confirm-btn{color:#fff;border-color:transparent}.confirm-btn.danger{background-color:#dc2626}.confirm-btn.danger:hover{background-color:#b91c1c}.confirm-btn.warning{background:linear-gradient(135deg,#1e40af,#0891b2)}.confirm-btn.warning:hover{background:linear-gradient(135deg,#1d4ed8,#0e7490);transform:translateY(-1px)}.confirm-btn.info{background-color:#0891b2}.confirm-btn.info:hover{background-color:#0e7490}.confirm-btn:focus{outline:none;box-shadow:0 0 0 2px currentColor}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-color-scheme: dark){.confirm-dialog{background:#1e293b;color:#f8fafc;border-color:#334155}.confirm-dialog-header{border-bottom-color:#334155}.confirm-dialog-title{color:#f8fafc}.confirm-dialog-message{color:#cbd5e1}.cancel-btn{background-color:#334155;border-color:#475569;color:#cbd5e1}.cancel-btn:hover{background-color:#475569;border-color:#64748b}}@media (max-width: 640px){.confirm-dialog{margin:12px;max-width:calc(100% - 24px)}.confirm-dialog-header{padding:14px 16px 10px}.confirm-dialog-body{padding:10px 16px 14px}.confirm-dialog-actions{flex-direction:column-reverse;padding:0 16px 14px;gap:6px}.confirm-dialog-btn{width:100%;justify-content:center;padding:8px 14px}}.conversation-sidebar{width:300px;height:100vh;background-color:var(--background-light);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 4px #0000000d}.sidebar-header{padding:20px;border-bottom:2px solid var(--primary-blue);background-color:var(--background-white);position:relative;display:flex;justify-content:space-between;align-items:center}.sidebar-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--primary-blue);text-shadow:none}.new-conversation-btn{padding:.5rem 1rem;background-color:var(--primary-blue);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;transition:all .2s ease;box-shadow:0 2px 4px #1e40af33;white-space:nowrap}.new-conversation-btn:hover{background-color:var(--secondary-blue);transform:translateY(-1px);box-shadow:0 4px 8px #1e40af4d}.new-conversation-btn:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.conversations-list{flex:1;overflow-y:auto;padding:1rem .75rem;background-color:var(--background-light)}.conversation-item{margin-bottom:.5rem;border-radius:10px;border:1px solid transparent;transition:all .2s ease;display:flex;align-items:stretch;background-color:var(--background-white);box-shadow:0 1px 3px #00000014}.conversation-item:hover{border-color:var(--border-medium);box-shadow:0 2px 8px #1e40af14;transform:translateY(-1px)}.conversation-item.active{border-color:var(--primary-blue);background-color:#1e40af0d;box-shadow:0 2px 8px #1e40af26}.conversation-button{flex:1;padding:.875rem;background:none;border:none;cursor:pointer;text-align:left;border-radius:10px 0 0 10px;transition:background-color .2s ease}.conversation-button:hover{background-color:#1e40af08}.conversation-button:focus{outline:2px solid var(--focus-outline);outline-offset:-2px}.conversation-content{width:100%}.conversation-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conversation-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-secondary);gap:.5rem}.conversation-date{flex-shrink:0;font-weight:500}.conversation-message-count{flex-shrink:0;background-color:#1e40af1a;color:var(--primary-blue);padding:2px 6px;border-radius:12px;font-size:.7rem;font-weight:600}.delete-conversation-btn{padding:.5rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:0 10px 10px 0;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;opacity:.6}.delete-conversation-btn:hover{background-color:#dc26261a;color:var(--error-red);opacity:1;transform:scale(1.05)}.delete-conversation-btn:focus{outline:2px solid var(--focus-outline);outline-offset:-2px;opacity:1}.loading-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-secondary);gap:1rem}.loading-spinner{width:28px;height:28px;border:3px solid var(--border-light);border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}.no-conversations{padding:3rem 1.5rem;text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.no-conversations p{margin:0;opacity:.8}.conversations-list::-webkit-scrollbar{width:8px}.conversations-list::-webkit-scrollbar-track{background:transparent;margin:4px 0}.conversations-list::-webkit-scrollbar-thumb{background-color:var(--border-medium);border-radius:4px;transition:background-color .2s ease}.conversations-list::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.conversations-list{overflow-y:auto}@supports (scrollbar-width: thin){.conversations-list{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}}@media (max-width: 768px){.conversation-sidebar{width:280px;box-shadow:4px 0 8px #0000001a}.sidebar-header{padding:1.25rem .75rem}.conversations-list{padding:.75rem .5rem}.conversation-item{margin-bottom:.375rem}.conversation-button{padding:.75rem}.conversation-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.conversation-sidebar{width:260px}.sidebar-header{padding:1rem .75rem}.sidebar-title{font-size:1rem}.new-conversation-btn{padding:.625rem;font-size:.85rem}.conversation-title{font-size:.85rem}.conversation-meta{font-size:.7rem}.delete-conversation-btn{width:40px}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.conversation-item{animation:slideInFromTop .3s ease-out}.conversation-item:hover .delete-conversation-btn{opacity:1}.conversation-sidebar:focus-within .conversation-item.active{box-shadow:0 0 0 2px var(--focus-outline)}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light);background-color:var(--background-white);margin-top:auto}.clear-all-btn{width:100%;padding:10px 16px;background:var(--background-light);color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.8}.clear-all-btn:hover{background:#fef2f2;border-color:#fca5a5;color:var(--error-red);opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px #dc26261a}.clear-all-btn:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.clear-all-btn:active{transform:translateY(0);box-shadow:0 1px 4px #dc26261a}.costar-dialog-overlay{position:fixed;inset:0;background-color:#1e40af26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:1rem}.costar-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 24px #1e40af4d;max-width:700px;width:100%;max-height:90vh;overflow:hidden;transform:scale(.95);animation:scaleIn .2s ease-out forwards;border:1px solid #e2e8f0;border-top:4px solid #1e40af;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column}.costar-dialog-header{display:flex;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid #e2e8f0;flex-shrink:0;background:linear-gradient(135deg,#f8fafc,#fff)}.costar-dialog-icon{font-size:1.75rem;margin-right:.75rem;flex-shrink:0}.costar-dialog-title{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.3;flex:1}.costar-close-btn{background:transparent;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;line-height:1;margin-left:1rem}.costar-close-btn:hover{background:#f1f5f9;color:#1e293b}.costar-close-btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.costar-dialog-body{padding:1.5rem;overflow-y:auto;flex:1}.costar-dialog-description,.costar-preview-description{margin:0 0 1.5rem;color:#475569;line-height:1.5;font-size:.9375rem}.costar-form{display:flex;flex-direction:column;gap:1.25rem}.costar-field{display:flex;flex-direction:column;gap:.5rem}.costar-label{display:flex;flex-direction:column;gap:.25rem}.costar-label-text{font-size:.9375rem;font-weight:600;color:#1e293b}.costar-label-hint{font-size:.8125rem;color:#64748b;font-weight:400}.costar-input,.costar-textarea{padding:.75rem;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.9375rem;font-family:inherit;color:#1e293b;transition:all .2s ease;background:#fff}.costar-input:hover,.costar-textarea:hover{border-color:#94a3b8}.costar-input:focus,.costar-textarea:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a}.costar-input.error,.costar-textarea.error{border-color:#dc2626}.costar-input.error:focus,.costar-textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.costar-textarea{resize:vertical;min-height:80px;line-height:1.5}.costar-error{display:block;color:#dc2626;font-size:.8125rem;font-weight:500;margin-top:-.25rem}.costar-char-count{align-self:flex-end;font-size:.75rem;color:#94a3b8;font-weight:500;margin-top:-.25rem}.costar-preview{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1.25rem;max-height:400px;overflow-y:auto}.costar-preview-content{margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6;color:#1e293b;white-space:pre-wrap;word-wrap:break-word}.costar-dialog-actions{display:flex;gap:.75rem;padding:1.25rem 1.5rem;justify-content:flex-end;border-top:2px solid #e2e8f0;flex-shrink:0;background:#fafbfc}.costar-btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;border:1.5px solid;cursor:pointer;transition:all .2s ease;min-width:90px;font-family:inherit}@media (max-width: 768px){.costar-dialog{max-width:95%;max-height:95vh}.costar-dialog-header,.costar-dialog-body{padding:1rem}.costar-dialog-title{font-size:1.125rem}.costar-form{gap:1rem}.costar-dialog-actions{padding:1rem;flex-wrap:wrap}.costar-btn{flex:1;min-width:80px}}@media (max-width: 480px){.costar-dialog-overlay{padding:.5rem}.costar-dialog{border-radius:8px}.costar-dialog-header,.costar-dialog-body,.costar-dialog-actions{padding:.875rem}.costar-btn{padding:.5rem 1rem;font-size:.875rem}}@media (prefers-contrast: high){.costar-dialog,.costar-input,.costar-textarea{border:2px solid #000000}.costar-btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.costar-dialog-overlay{animation:none}.costar-dialog{animation:none;transform:scale(1)}.costar-btn:hover{transform:none}}.costar-input:focus-visible,.costar-textarea:focus-visible,.costar-btn:focus-visible,.costar-close-btn:focus-visible{outline:2px solid #1e40af;outline-offset:2px}.costar-dialog-body::-webkit-scrollbar,.costar-preview::-webkit-scrollbar{width:8px}.costar-dialog-body::-webkit-scrollbar-track,.costar-preview::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.costar-dialog-body::-webkit-scrollbar-thumb,.costar-preview::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.costar-dialog-body::-webkit-scrollbar-thumb:hover,.costar-preview::-webkit-scrollbar-thumb:hover{background:#94a3b8}.automat-dialog-overlay{position:fixed;inset:0;background-color:#1e40af26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:1rem}.automat-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 24px #1e40af4d;max-width:700px;width:100%;max-height:90vh;overflow:hidden;transform:scale(.95);animation:scaleIn .2s ease-out forwards;border:1px solid #e2e8f0;border-top:4px solid #1e40af;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column}.automat-dialog-header{display:flex;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid #e2e8f0;flex-shrink:0;background:linear-gradient(135deg,#f8fafc,#fff)}.automat-dialog-icon{font-size:1.75rem;margin-right:.75rem;flex-shrink:0}.automat-dialog-title{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.3;flex:1}.automat-close-btn{background:transparent;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;line-height:1;margin-left:1rem}.automat-close-btn:hover{background:#f1f5f9;color:#1e293b}.automat-close-btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.automat-dialog-body{padding:1.5rem;overflow-y:auto;flex:1}.automat-dialog-description,.automat-preview-description{margin:0 0 1.5rem;color:#475569;line-height:1.5;font-size:.9375rem}.automat-form{display:flex;flex-direction:column;gap:1.25rem}.automat-field{display:flex;flex-direction:column;gap:.5rem}.automat-label{display:flex;flex-direction:column;gap:.25rem}.automat-label-text{font-size:.9375rem;font-weight:600;color:#1e293b}.automat-label-hint{font-size:.8125rem;color:#64748b;font-weight:400}.automat-input,.automat-textarea{padding:.75rem;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.9375rem;font-family:inherit;color:#1e293b;transition:all .2s ease;background:#fff}.automat-input:hover,.automat-textarea:hover{border-color:#94a3b8}.automat-input:focus,.automat-textarea:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a}.automat-input.error,.automat-textarea.error{border-color:#dc2626}.automat-input.error:focus,.automat-textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.automat-textarea{resize:vertical;min-height:80px;line-height:1.5}.automat-error{display:block;color:#dc2626;font-size:.8125rem;font-weight:500;margin-top:-.25rem}.automat-char-count{align-self:flex-end;font-size:.75rem;color:#94a3b8;font-weight:500;margin-top:-.25rem}.automat-preview{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1.25rem;max-height:400px;overflow-y:auto}.automat-preview-content{margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6;color:#1e293b;white-space:pre-wrap;word-wrap:break-word}.automat-dialog-actions{display:flex;gap:.75rem;padding:1.25rem 1.5rem;justify-content:flex-end;border-top:2px solid #e2e8f0;flex-shrink:0;background:#fafbfc}.automat-btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;border:1.5px solid;cursor:pointer;transition:all .2s ease;min-width:90px;font-family:inherit}.cancel-btn{background-color:#fff;border-color:#cbd5e1;color:#475569}.cancel-btn:hover{background-color:#f8fafc;border-color:#64748b}.cancel-btn:focus{outline:none;box-shadow:0 0 0 3px #64748b33}.preview-btn{background:linear-gradient(135deg,#06b6d4,#0891b2);border-color:transparent;color:#fff}.preview-btn:hover{background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-1px);box-shadow:0 4px 8px #0891b24d}.preview-btn:focus{outline:none;box-shadow:0 0 0 3px #06b6d44d}.edit-btn{background:#fff;border-color:#1e40af;color:#1e40af}.edit-btn:hover{background:#eff6ff;border-color:#1e3a8a;color:#1e3a8a}.edit-btn:focus{outline:none;box-shadow:0 0 0 3px #1e40af33}.submit-btn{background:linear-gradient(135deg,#1e40af,#0891b2);border-color:transparent;color:#fff}.submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#0e7490);transform:translateY(-1px);box-shadow:0 4px 12px #1e40af66}.submit-btn:focus{outline:none;box-shadow:0 0 0 3px #1e40af4d}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.automat-dialog{max-width:95%;max-height:95vh}.automat-dialog-header,.automat-dialog-body{padding:1rem}.automat-dialog-title{font-size:1.125rem}.automat-form{gap:1rem}.automat-dialog-actions{padding:1rem;flex-wrap:wrap}.automat-btn{flex:1;min-width:80px}}@media (max-width: 480px){.automat-dialog-overlay{padding:.5rem}.automat-dialog{border-radius:8px}.automat-dialog-header,.automat-dialog-body,.automat-dialog-actions{padding:.875rem}.automat-btn{padding:.5rem 1rem;font-size:.875rem}}@media (prefers-contrast: high){.automat-dialog,.automat-input,.automat-textarea{border:2px solid #000000}.automat-btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.automat-dialog-overlay{animation:none}.automat-dialog{animation:none;transform:scale(1)}.automat-btn:hover{transform:none}}.automat-input:focus-visible,.automat-textarea:focus-visible,.automat-btn:focus-visible,.automat-close-btn:focus-visible{outline:2px solid #1e40af;outline-offset:2px}.automat-dialog-body::-webkit-scrollbar,.automat-preview::-webkit-scrollbar{width:8px}.automat-dialog-body::-webkit-scrollbar-track,.automat-preview::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.automat-dialog-body::-webkit-scrollbar-thumb,.automat-preview::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.automat-dialog-body::-webkit-scrollbar-thumb:hover,.automat-preview::-webkit-scrollbar-thumb:hover{background:#94a3b8}.saved-queries{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.saved-queries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.saved-queries-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0}.search-container{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:.5rem;font-size:.875rem;background:var(--bg-secondary, #ffffff);transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px var(--primary-color-alpha, rgba(59, 130, 246, .1))}.search-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary, #6b7280)}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-filter{padding:.5rem 1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:1.5rem;background:var(--bg-secondary, #ffffff);color:var(--text-secondary, #6b7280);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.category-filter:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.category-filter.active{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.queries-list{display:flex;flex-direction:column;gap:.75rem}.query-item{padding:1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:.75rem;background:var(--bg-secondary, #ffffff);cursor:pointer;transition:all .2s ease;position:relative}.query-item:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px var(--shadow-color, rgba(0, 0, 0, .1))}.query-item.favorite{border-color:#f59e0b}.query-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.query-title{font-weight:600;color:var(--text-primary, #1f2937);margin:0;flex:1;margin-right:1rem}.query-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease}.query-item:hover .query-actions{opacity:1}.action-button{padding:.25rem;background:none;border:none;cursor:pointer;color:var(--text-secondary, #6b7280);transition:color .2s ease;border-radius:.25rem}.action-button:hover{color:var(--primary-color, #3b82f6)}.action-button.favorite{color:#f59e0b}.action-button.delete:hover{color:#ef4444}.query-text{color:var(--text-secondary, #6b7280);font-size:.875rem;margin-bottom:.75rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.query-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-tertiary, #9ca3af)}.query-category{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.75rem;background:var(--bg-tertiary, #f3f4f6);font-weight:500}.query-stats{display:flex;align-items:center;gap:.5rem}.use-count{display:flex;align-items:center;gap:.25rem}.last-used{color:var(--text-tertiary, #9ca3af)}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary, #6b7280)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-description{font-size:.875rem;line-height:1.5}.quick-actions{margin-bottom:2rem}.quick-actions-title{font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 1rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.quick-action{padding:1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:.75rem;background:var(--bg-secondary, #ffffff);cursor:pointer;transition:all .2s ease;text-align:center}.quick-action:hover{border-color:var(--primary-color, #3b82f6);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color, rgba(0, 0, 0, .15))}.quick-action-icon{font-size:2rem;margin-bottom:.5rem;display:block}.quick-action-title{font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:.25rem;font-size:.875rem}.quick-action-description{font-size:.75rem;color:var(--text-secondary, #6b7280);line-height:1.4}@media (max-width: 768px){.saved-queries-header{flex-direction:column;align-items:stretch;gap:1rem}.category-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.category-filter{flex-shrink:0}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.query-header{flex-direction:column;align-items:stretch;gap:.5rem}.query-actions{opacity:1;align-self:flex-end}}.save-query-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:2px solid var(--border-color, #e5e7eb);border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #6b7280);font-size:1rem}.save-query-button:hover,.save-query-button.saved{border-color:#f59e0b;color:#f59e0b;background:#f59e0b1a}.save-query-button.loading{opacity:.6;cursor:not-allowed}.save-query-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){.saved-queries{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--border-color: #374151;--primary-color: #60a5fa;--primary-color-alpha: rgba(96, 165, 250, .1);--shadow-color: rgba(0, 0, 0, .3)}}.saved-queries-modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.saved-queries-modal{background:var(--bg-secondary, #ffffff);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.saved-queries-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;border-bottom:2px solid var(--border-color, #e5e7eb);margin-bottom:1rem}.saved-queries-modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1f2937);margin:0}.saved-queries-modal-close{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:none;border:2px solid var(--border-color, #e5e7eb);border-radius:.5rem;cursor:pointer;color:var(--text-secondary, #6b7280);font-size:1.25rem;transition:all .2s ease}.saved-queries-modal-close:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6);background:var(--primary-color-alpha, rgba(59, 130, 246, .1))}.saved-queries-modal-content{flex:1;overflow:hidden;padding:0 1.5rem 1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.saved-queries-modal-backdrop{padding:.5rem}.saved-queries-modal{max-width:100%;max-height:95vh}.saved-queries-modal-header{padding:1rem 1rem 0}.saved-queries-modal-content{padding:0 1rem 1rem}.saved-queries-modal-title{font-size:1.25rem}}@media (prefers-color-scheme: dark){.saved-queries-modal-backdrop{background:#000000b3}.saved-queries-modal{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--border-color: #374151;--primary-color: #60a5fa;--primary-color-alpha: rgba(96, 165, 250, .1);--shadow-color: rgba(0, 0, 0, .3)}}.conversation-references{position:fixed;top:70px;right:0;width:350px;max-width:90vw;height:calc(100vh - 70px);background-color:var(--background-white);border-left:1px solid var(--border-light);box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;z-index:900;transition:transform .3s ease-in-out}.conversation-references.visible{transform:translate(0)}.conversation-references.hidden{transform:translate(100%)}.references-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:2px solid var(--border-light);background-color:var(--background-light);flex-shrink:0}.references-title{display:flex;align-items:center;gap:8px;flex:1}.references-icon{color:var(--primary-blue);flex-shrink:0}.references-title h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.references-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background-color:var(--primary-blue);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.references-controls{display:flex;align-items:center;gap:8px}.copy-all-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:transparent;border:1px solid var(--border-medium);border-radius:6px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-all-btn:hover{background-color:var(--background-light);border-color:var(--primary-blue);color:var(--primary-blue)}.copy-all-btn:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.copy-all-btn:active{transform:scale(.98)}.copy-success-text{color:var(--success-green);font-weight:600}.toggle-references-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid var(--border-medium);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.toggle-references-btn:hover{background-color:var(--background-light);border-color:var(--primary-blue);color:var(--primary-blue)}.toggle-references-btn:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.toggle-icon{transition:transform .2s ease}.toggle-icon.open{transform:rotate(0)}.toggle-icon.closed{transform:rotate(45deg)}.references-content{flex:1;overflow-y:auto;padding:16px}.references-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.reference-item{display:flex;align-items:flex-start}.reference-link{display:flex;align-items:center;gap:8px;padding:10px 12px;width:100%;background-color:var(--background-light);border:1px solid var(--border-light);border-radius:8px;color:var(--primary-blue);text-decoration:none;font-size:.9rem;transition:all .2s ease;cursor:pointer}.reference-link:hover{background-color:#e0f2fe;border-color:var(--primary-blue);box-shadow:0 2px 4px #0000001a}.reference-link:focus{outline:2px solid var(--focus-outline);outline-offset:2px}.reference-link:active{transform:scale(.99)}.link-icon{flex-shrink:0;color:var(--primary-blue)}.reference-title{flex:1;text-align:left;word-break:break-word;line-height:1.4}.external-icon{flex-shrink:0;opacity:.6}.reference-document-btn{font-family:inherit;text-align:left}.reference-document-btn .link-icon{color:var(--secondary-blue)}.reference-readonly{cursor:default;color:var(--text-secondary);background-color:#f1f5f9}.reference-readonly:hover{background-color:#f1f5f9;border-color:var(--border-light);box-shadow:none}.reference-readonly .link-icon{color:var(--text-secondary);opacity:.5}.references-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary)}.empty-state-title{margin:16px 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.empty-state-description{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.references-content::-webkit-scrollbar{width:8px}.references-content::-webkit-scrollbar-track{background:var(--background-light)}.references-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.references-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.conversation-references{width:100%;max-width:100%}.references-header{padding:12px}.references-title h3{font-size:1rem}.copy-all-btn span:not(.copy-success-text){display:none}.copy-all-btn{padding:6px 10px}}@media (prefers-contrast: high){.reference-link{border:2px solid var(--primary-blue)}.references-count{border:2px solid white}}@media (prefers-reduced-motion: reduce){.conversation-references,.toggle-icon,.reference-link,.copy-all-btn,.toggle-references-btn{transition:none}}@supports selector(:focus-visible){.reference-link:focus{outline:none}.reference-link:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.copy-all-btn:focus,.toggle-references-btn:focus{outline:none}.copy-all-btn:focus-visible,.toggle-references-btn:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}}.template-selector-container{display:flex;flex-direction:column;height:100%;max-width:1200px;margin:0 auto;padding:1.5rem;background:#fff;gap:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.template-selector-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.template-selector-header h2{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 .5rem}.template-selector-subtitle{font-size:.95rem;color:#6b7280;margin:0;line-height:1.5}.template-selector-controls{display:flex;gap:1.5rem;align-items:center;flex-wrap:nowrap}.search-box-wrapper{position:relative;flex:1;min-width:200px}.template-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#111827;transition:all .2s ease-in-out}.template-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.template-search-input::placeholder{color:#9ca3af}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none;color:#6b7280}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:#fee2e2;border-left:4px solid #ef4444;border-radius:0 .375rem .375rem 0;color:#7f1d1d;font-size:.9rem;gap:1rem;animation:slideDown .2s ease-out}.error-message{flex:1}.error-dismiss{background:none;border:none;font-size:1.25rem;color:#7f1d1d;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:all .15s ease-in-out}.error-dismiss:hover{opacity:.7}.error-dismiss:focus{outline:none;box-shadow:0 0 0 2px #ef44441a}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#6b7280}.empty-state-icon{font-size:3.5rem;margin-bottom:1rem;opacity:.6}.empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0 0 .5rem}.empty-state p{margin:0;font-size:.95rem;max-width:400px}.results-info{padding:0 .25rem;font-size:.9rem;color:#6b7280}.results-info p{margin:0}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;flex:1;overflow-y:auto;padding:.25rem}.results-list{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;padding:.25rem}.result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;transition:all .15s ease-in-out}.result-item:hover{background:#f9fafb;border-color:#d1d5db}.result-item.selected{background:#f0f9ff;border-color:#3b82f6;border-width:2px;padding:.7rem .95rem}.result-number{flex-shrink:0;font-weight:600;color:#6b7280;min-width:2rem}.result-title{flex:1;color:#111827;font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-checkmark{flex-shrink:0;color:#3b82f6;font-weight:700;font-size:1.1rem}.template-card{position:relative;display:flex;flex-direction:column;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.625rem;cursor:pointer;transition:all .2s ease-in-out;gap:.75rem}.template-card:hover{border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.template-card:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.template-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 16px #3b82f61f}.template-card-checkmark{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:700;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.template-card-header h3{margin:0;font-size:1.05rem;font-weight:600;color:#111827;flex:1;word-break:break-word}.template-category-badge{display:inline-block;padding:.375rem .625rem;background:#dbeafe;color:#0369a1;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.template-description{margin:0;font-size:.9rem;color:#6b7280;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.iso-sections{font-size:.85rem;color:#374151;padding:.5rem .75rem;background:#fef3c7;border-radius:.375rem}.iso-sections strong{color:#92400e}.template-meta{display:flex;gap:1rem;font-size:.8rem;color:#9ca3af;border-top:1px solid #f0f0f0;padding-top:.75rem}.meta-item{display:flex;gap:.25rem}.exemplar-section{margin-top:auto;padding-top:.75rem;border-top:1px dashed #e5e7eb}.exemplar-label{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.exemplar-link{width:100%;padding:.5rem .75rem;margin-bottom:.5rem;background:#f0f0f0;border:1px solid #d1d5db;border-radius:.375rem;font-size:.8rem;color:#374151;cursor:pointer;transition:all .15s ease-in-out;text-align:left;font-weight:500}.exemplar-link:hover{background:#e5e7eb;border-color:#9ca3af}.exemplar-link.active{background:#dbeafe;border-color:#0369a1;color:#0369a1}.exemplar-link:focus{outline:none;box-shadow:0 0 0 2px #0369a11a}.template-selector-footer{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;justify-content:flex-end;flex-wrap:wrap}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}@media (prefers-color-scheme: dark){.template-selector-container{background:#1f2937;color:#f3f4f6}.template-selector-header{border-bottom-color:#374151}.template-selector-header h2{color:#f3f4f6}.template-selector-subtitle{color:#d1d5db}.template-search-input{background:#111827;border-color:#374151;color:#f3f4f6}.template-search-input:focus{border-color:#3b82f6}.template-search-input::placeholder{color:#6b7280}.search-icon{color:#9ca3af}.filter-toggle{background:#374151;border-color:#4b5563;color:#e5e7eb}.filter-toggle:hover{background:#4b5563;border-color:#6b7280}.filter-toggle.active{background:#1e3a8a;border-color:#3b82f6;color:#60a5fa}.filter-panel{background:#111827;border-color:#374151}.filter-section h3{color:#d1d5db}.mode-button{background:#374151;border-color:#4b5563;color:#e5e7eb}.mode-button:hover{background:#4b5563;border-color:#6b7280}.mode-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.checkbox-label{color:#d1d5db}.error-banner{background:#7f1d1d;border-left-color:#ef4444;color:#fee2e2}.error-dismiss{color:#fee2e2}.loading-spinner-container{color:#9ca3af}.spinner{border-color:#374151;border-top-color:#3b82f6}.empty-state{color:#9ca3af}.empty-state h3{color:#d1d5db}.results-info{color:#9ca3af}.template-card{background:#374151;border-color:#4b5563}.template-card:hover{border-color:#6b7280;box-shadow:0 4px 12px #0000004d}.template-card.selected{background:#1e3a8a;border-color:#3b82f6;box-shadow:0 4px 16px #3b82f633}.template-card-header h3{color:#f3f4f6}.template-category-badge{background:#0369a1;color:#bfdbfe}.template-description{color:#d1d5db}.iso-sections{background:#78350f;color:#fcd34d}.iso-sections strong{color:#fef3c7}.template-meta{border-top-color:#4b5563;color:#6b7280}.exemplar-label{color:#9ca3af}.exemplar-link{background:#4b5563;border-color:#6b7280;color:#d1d5db}.exemplar-link:hover{background:#6b7280;border-color:#9ca3af}.exemplar-link.active{background:#0369a1;border-color:#0369a1;color:#bfdbfe}.template-selector-footer{border-top-color:#374151}}@media (max-width: 768px){.template-selector-container{padding:1rem}.template-selector-header h2{font-size:1.5rem}.template-selector-controls{flex-direction:column}.search-box-wrapper,.filter-toggle{width:100%}.template-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.875rem}.template-selector-footer{gap:.75rem}.btn-primary,.btn-secondary{flex:1;min-width:120px}}@media (max-width: 480px){.template-selector-container{padding:.75rem;gap:1rem}.template-selector-header h2{font-size:1.25rem}.template-selector-header{padding-bottom:.75rem}.template-grid{grid-template-columns:1fr;gap:.75rem}.template-card{padding:.875rem;gap:.5rem}.template-card-header h3{font-size:.95rem}.template-description{font-size:.85rem}.template-selector-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%;padding:.7rem 1rem}.template-category-badge{font-size:.7rem;padding:.35rem .5rem}.error-banner{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (prefers-reduced-motion: reduce){.template-card,.filter-toggle,.btn-primary,.btn-secondary,.template-search-input,.mode-button,.exemplar-link,.spinner{animation:none!important;transition:none!important}.template-card-checkmark,.filter-panel{animation:none!important}}.template-grid:has(.spinner){display:flex;align-items:center;justify-content:center;min-height:300px}.requirement-context-panel{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.panel-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.panel-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.panel-subtitle{font-size:.95rem;color:#6b7280;margin:0;line-height:1.5}.requirement-form{display:flex;flex-direction:column;gap:1.5rem;flex:1}.form-errors{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#fee2e2;border-left:4px solid #ef4444;border-radius:0 .375rem .375rem 0;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.error-header{font-weight:600;color:#7f1d1d;font-size:.9rem}.error-list{margin:0;padding-left:1.25rem;list-style-position:inside;color:#7f1d1d}.error-list li{font-size:.85rem;margin:.25rem 0;line-height:1.4}.form-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.625rem;border-style:none}.section-title{font-size:1rem;font-weight:600;color:#111827;margin:0;display:flex;align-items:center;gap:.5rem}.required-indicator{color:#ef4444;font-weight:700;margin-left:.25rem}.section-description{margin:0;font-size:.85rem;color:#6b7280;line-height:1.5}.radio-group{display:flex;flex-direction:column;gap:.875rem}.radio-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;margin:-.75rem;border-radius:.375rem;transition:all .15s ease-in-out}.radio-label:hover{background:#3b82f60d}.radio-label:focus-within{outline:none;box-shadow:0 0 0 3px #3b82f61a;border-radius:.375rem}.radio-label input[type=radio]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}.radio-label-text{font-weight:500;color:#374151;font-size:.95rem}.radio-label-help{display:block;font-size:.8rem;color:#9ca3af;margin-top:.25rem;line-height:1.4}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;transition:all .15s ease-in-out}.checkbox-label:hover{border-color:#9ca3af;box-shadow:0 2px 4px #0000000d}.checkbox-label:has(input:checked){background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}.checkbox-label-text{font-weight:500;color:#374151;font-size:.9rem}.textarea-input{width:100%;padding:.875rem;font-family:inherit;font-size:.9rem;border:1px solid #d1d5db;border-radius:.5rem;color:#111827;background:#fff;resize:vertical;transition:all .2s ease-in-out}.textarea-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.textarea-input::placeholder{color:#9ca3af}.textarea-help{font-size:.75rem;color:#9ca3af;text-align:right}.panel-footer{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;justify-content:flex-end;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px)}@media (prefers-color-scheme: dark){.requirement-context-panel{background:#1f2937;color:#f3f4f6}.panel-header{border-bottom-color:#374151}.panel-header h2{color:#f3f4f6}.panel-subtitle{color:#d1d5db}.form-errors{background:#7f1d1d;border-left-color:#ef4444}.error-header,.error-list,.error-list li{color:#fee2e2}.form-section{background:#111827;border-color:#374151}.section-title{color:#f3f4f6}.section-description,.radio-label{color:#d1d5db}.radio-label:hover{background:#3b82f61a}.radio-label-text{color:#e5e7eb}.radio-label-help{color:#9ca3af}.checkbox-label{background:#374151;border-color:#4b5563;color:#d1d5db}.checkbox-label:hover{border-color:#6b7280}.checkbox-label:has(input:checked){background:#1e3a8a;border-color:#3b82f6}.checkbox-label-text{color:#e5e7eb}.textarea-input{background:#374151;border-color:#4b5563;color:#f3f4f6}.textarea-input:focus{border-color:#3b82f6}.textarea-input::placeholder{color:#6b7280}.textarea-help{color:#6b7280}.panel-footer{border-top-color:#374151}.btn-secondary{background:#374151;border-color:#4b5563;color:#e5e7eb}.btn-secondary:hover{background:#4b5563;border-color:#6b7280}}@media (max-width: 768px){.requirement-context-panel{padding:1rem;gap:1rem}.panel-header h2{font-size:1.25rem}.checkbox-group{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.panel-footer{gap:.75rem}}@media (max-width: 480px){.requirement-context-panel{padding:.75rem;gap:1rem}.panel-header{padding-bottom:.75rem}.panel-header h2{font-size:1.1rem}.panel-subtitle{font-size:.85rem}.form-section{padding:.875rem}.section-title{font-size:.95rem}.section-description{font-size:.8rem}.checkbox-group{grid-template-columns:1fr;gap:.5rem}.radio-label{padding:.5rem;gap:.5rem}.radio-label input[type=radio]{width:18px;height:18px}.radio-label-text{font-size:.9rem}.radio-label-help{font-size:.75rem}.checkbox-label{padding:.5rem;gap:.5rem}.checkbox-label input[type=checkbox]{width:16px;height:16px}.checkbox-label-text{font-size:.85rem}.textarea-input{font-size:.85rem;padding:.75rem}.textarea-help{font-size:.7rem}.panel-footer{flex-direction:column;gap:.5rem}.btn-primary,.btn-secondary{width:100%;padding:.7rem 1rem;font-size:.9rem}}@media (prefers-reduced-motion: reduce){.form-errors,.radio-label,.checkbox-label,.textarea-input,.btn-primary,.btn-secondary{animation:none!important;transition:none!important;transform:none!important}}.assistant-theme-qms .requirement-context-panel .radio-label:before,.assistant-theme-qms .requirement-context-panel .checkbox-label:before{border-color:#10b981}.assistant-theme-qms .requirement-context-panel .radio-label:focus-within:before,.assistant-theme-qms .requirement-context-panel .checkbox-label:focus-within:before{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.assistant-theme-qms .requirement-context-panel .radio-input:checked+.radio-label:after,.assistant-theme-qms .requirement-context-panel .checkbox-input:checked+.checkbox-label:after{background:#10b981}.assistant-theme-qms .requirement-context-panel .textarea-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.assistant-theme-qms .requirement-context-panel .btn-primary{background:linear-gradient(135deg,#10b981,#059669)}.assistant-theme-qms .requirement-context-panel .btn-primary:hover{box-shadow:0 8px 24px #10b98166}.assistant-theme-clinicals .requirement-context-panel .radio-label:before,.assistant-theme-clinicals .requirement-context-panel .checkbox-label:before{border-color:#ef4444}.assistant-theme-clinicals .requirement-context-panel .radio-label:focus-within:before,.assistant-theme-clinicals .requirement-context-panel .checkbox-label:focus-within:before{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.assistant-theme-clinicals .requirement-context-panel .radio-input:checked+.radio-label:after,.assistant-theme-clinicals .requirement-context-panel .checkbox-input:checked+.checkbox-label:after{background:#ef4444}.assistant-theme-clinicals .requirement-context-panel .textarea-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.assistant-theme-clinicals .requirement-context-panel .btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626)}.assistant-theme-clinicals .requirement-context-panel .btn-primary:hover{box-shadow:0 8px 24px #ef444466}.assistant-theme-innovation .requirement-context-panel .radio-label:before,.assistant-theme-innovation .requirement-context-panel .checkbox-label:before{border-color:#3b82f6}.assistant-theme-innovation .requirement-context-panel .radio-label:focus-within:before,.assistant-theme-innovation .requirement-context-panel .checkbox-label:focus-within:before{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.assistant-theme-innovation .requirement-context-panel .radio-input:checked+.radio-label:after,.assistant-theme-innovation .requirement-context-panel .checkbox-input:checked+.checkbox-label:after{background:#3b82f6}.assistant-theme-innovation .requirement-context-panel .textarea-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.assistant-theme-innovation .requirement-context-panel .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.assistant-theme-innovation .requirement-context-panel .btn-primary:hover{box-shadow:0 8px 24px #3b82f666}.assistant-theme-pms .requirement-context-panel .radio-label:before,.assistant-theme-pms .requirement-context-panel .checkbox-label:before{border-color:#f59e0b}.assistant-theme-pms .requirement-context-panel .radio-label:focus-within:before,.assistant-theme-pms .requirement-context-panel .checkbox-label:focus-within:before{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.assistant-theme-pms .requirement-context-panel .radio-input:checked+.radio-label:after,.assistant-theme-pms .requirement-context-panel .checkbox-input:checked+.checkbox-label:after{background:#f59e0b}.assistant-theme-pms .requirement-context-panel .textarea-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.assistant-theme-pms .requirement-context-panel .btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706)}.assistant-theme-pms .requirement-context-panel .btn-primary:hover{box-shadow:0 8px 24px #f59e0b66}.question-flow-container{display:flex;flex-direction:column;gap:2rem;padding:2rem;max-width:800px;margin:0 auto}.question-flow-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center;border:2px dashed #e0e0e0;border-radius:8px;background-color:#f9f9f9}.empty-state-icon{font-size:3rem;opacity:.6}.question-flow-empty h3{margin:0;color:#333;font-size:1.25rem}.question-flow-empty p{margin:0;color:#666;font-size:.95rem}.question-progress{display:flex;flex-direction:column;gap:.75rem}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#357abd);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.85rem;color:#666;text-align:right}.question-card-container{flex:1;min-height:300px;display:flex;align-items:center}.question-card{width:100%;display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.question-section-badge{display:inline-block;padding:.5rem 1rem;background-color:#e3f2fd;color:#1976d2;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.question-card h3.question-text,.question-card .question-text{margin:0 0 .5rem;padding:0;color:#1a1a1a;font-size:1.875rem!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.02em;font-family:inherit}.required-indicator{color:#d32f2f;font-weight:700}.question-help-text{margin:0;color:#666;font-size:.875rem;line-height:1.5;font-style:italic}.question-input-wrapper{display:flex;flex-direction:column;gap:.75rem}.question-input{padding:.875rem;border:1px solid #d0d0d0;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .2s ease}.question-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;background-color:#fafbff}.question-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.question-input.error{border-color:#d32f2f;background-color:#ffebee}.question-input.error:focus{box-shadow:0 0 0 3px #d32f2f1a}.text-input{min-height:44px}.textarea{resize:vertical;min-height:120px;max-height:400px}.number-input,.date-input{min-height:44px}.file-input{padding:1rem;cursor:pointer}.file-input::-webkit-file-upload-button{padding:.5rem 1rem;background-color:#f0f0f0;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;transition:background-color .2s}.file-input::-webkit-file-upload-button:hover{background-color:#e0e0e0}.question-radiogroup{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.radio-option{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:6px;transition:background-color .2s}.radio-option:hover{background-color:#f5f5f5}.radio-option input[type=radio]{margin-top:.25rem;cursor:pointer;flex-shrink:0}.radio-label{font-weight:500;color:#333}.radio-help{display:block;font-size:.85rem;color:#666;margin-top:.25rem}.question-multiselect{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.checkbox-option{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:6px;transition:background-color .2s}.checkbox-option:hover{background-color:#f5f5f5}.checkbox-option input[type=checkbox]{margin-top:.25rem;cursor:pointer;flex-shrink:0}.checkbox-label{font-weight:500;color:#333}.checkbox-help{display:block;font-size:.85rem;color:#666;margin-top:.25rem}.question-error{padding:.75rem;background-color:#ffebee;border-left:4px solid #d32f2f;color:#c62828;font-size:.9rem;border-radius:4px;display:flex;align-items:center;gap:.5rem}.character-counter{text-align:right;font-size:.8rem;color:#999}.min-length-hint{color:#bbb;font-style:italic}.exemplar-reference{border-top:1px solid #e0e0e0;padding-top:1rem;margin-top:.5rem}.exemplar-summary{cursor:pointer;color:#4a90e2;font-weight:500;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.exemplar-summary:hover{text-decoration:underline}.exemplar-icon{font-size:1rem}.exemplar-content{margin-top:1rem;padding:1rem;background-color:#f9f9f9;border-left:4px solid #4a90e2;border-radius:4px;font-size:.9rem;line-height:1.6;color:#555}.exemplar-content p{margin:0}.question-navigation{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-primary,.btn-secondary,.btn-text{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.btn-primary{background-color:#4a90e2;color:#fff;border-color:#357abd}.btn-primary:hover:not(:disabled){background-color:#357abd;box-shadow:0 2px 8px #4a90e24d}.btn-primary:disabled{background-color:#ccc;color:#999;cursor:not-allowed;border-color:#bbb}.btn-secondary{background-color:#f5f5f5;color:#333;border-color:#d0d0d0}.btn-secondary:hover:not(:disabled){background-color:#e8e8e8}.btn-secondary:disabled{background-color:#f9f9f9;color:#ccc;cursor:not-allowed;border-color:#e0e0e0}.btn-text{background:none;color:#4a90e2;border:none;padding:.5rem 0;justify-content:center}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-text:disabled{color:#ccc;cursor:not-allowed}.question-cancel{margin-top:1rem;padding:.5rem;text-align:center}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@media (max-width: 768px){.question-flow-container{padding:1.5rem 1rem;gap:1.5rem}.question-card{padding:1.5rem 1rem}.question-card .question-text,.question-card h3.question-text{font-size:1.5rem!important}.question-navigation{flex-direction:column;gap:.75rem}.btn-primary,.btn-secondary,.btn-text{width:100%;justify-content:center}.question-flow-empty{padding:2rem 1rem}}@media (max-width: 480px){.question-flow-container{padding:1rem;gap:1rem}.question-card{padding:1rem;gap:.75rem}.question-card .question-text,.question-card h3.question-text{font-size:1.375rem!important}.question-input{font-size:16px}.textarea{min-height:100px}}@media (prefers-color-scheme: dark){.question-card{background-color:#2a2a2a;border-color:#444;color:#e0e0e0}.question-text{color:#e0e0e0}.question-help-text{color:#aaa}.question-input{background-color:#1a1a1a;border-color:#444;color:#e0e0e0}.question-input:focus{border-color:#6ba3f5;background-color:#1a1a24}.question-input.error{background-color:#3c1919}.question-section-badge{background-color:#1a3a52;color:#6ba3f5}.radio-option:hover,.checkbox-option:hover{background-color:#333}.radio-label,.checkbox-label{color:#e0e0e0}.radio-help,.checkbox-help{color:#aaa}.exemplar-content{background-color:#1a1a1a;border-left-color:#6ba3f5;color:#ccc}.btn-secondary{background-color:#333;color:#e0e0e0;border-color:#444}.btn-secondary:hover:not(:disabled){background-color:#444}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.question-input:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-text:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}@media (prefers-reduced-motion: reduce){.question-card,.progress-fill,.question-input,.btn-primary,.btn-secondary,.btn-text{transition:none}.spinner{animation:none;border-top-width:3px}}.doc-assembly-preview{display:flex;flex-direction:column;width:100%;height:100%;background:var(--background-color, #ffffff);color:var(--text-color, #1a1a1a);overflow:hidden}.doc-assembly-preview.loading,.doc-assembly-preview.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:3rem;text-align:center}.doc-assembly-preview.loading span,.doc-assembly-preview.empty span{text-align:center}.loading-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid rgba(0,0,0,.1);border-top-color:var(--primary-color, #0078d4);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.75rem}.doc-preview-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--surface-color, #fafafa);flex-shrink:0}.doc-preview-title-section h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--text-color, #1a1a1a)}.doc-preview-meta{display:flex;gap:.5rem;font-size:.875rem;color:var(--text-secondary, #666666)}.doc-preview-actions{display:flex;gap:.5rem;align-items:center}.btn-secondary,.btn-primary,.btn-close{padding:.5rem 1rem;border:1px solid var(--border-color, #cccccc);border-radius:4px;background:var(--button-background, #ffffff);color:var(--text-color, #1a1a1a);cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-secondary:hover:not(:disabled),.btn-close:hover{background:var(--hover-background, #f0f0f0);border-color:var(--primary-color, #0078d4)}.btn-primary{background:var(--primary-color, #0078d4);color:#fff;border-color:var(--primary-color, #0078d4)}.btn-primary:hover:not(:disabled){background:var(--primary-hover, #005a9e)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-close{padding:.5rem;border:none;background:transparent;font-size:1.25rem;line-height:1}.doc-preview-content{flex:1;overflow-y:auto;padding:2rem}.markdown-source{background:var(--code-background, #1e1e1e);color:var(--code-text, #d4d4d4);padding:1.5rem;border-radius:4px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.section-container{position:relative;margin-bottom:2rem;padding:1rem;border-radius:6px;transition:all .2s ease}.section-container.hovered{background:var(--section-hover-background, #f8f9fa);box-shadow:0 2px 4px #0000000d}.section-container.regenerating{opacity:.6;pointer-events:none}.section-toolbar{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.5rem;align-items:center;padding:.5rem;background:var(--toolbar-background, rgba(255, 255, 255, .95));border:1px solid var(--border-color, #cccccc);border-radius:4px;box-shadow:0 2px 6px #0000001a;z-index:5}.btn-regenerate{padding:.375rem .75rem;border:1px solid var(--primary-color, #0078d4);border-radius:4px;background:var(--primary-color, #0078d4);color:#fff;font-size:.8125rem;cursor:pointer;transition:background .2s ease}.btn-regenerate:hover{background:var(--primary-hover, #005a9e)}.section-info{font-size:.75rem;color:var(--text-secondary, #666666)}.section-regenerating{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--info-background, #e3f2fd);border-left:3px solid var(--primary-color, #0078d4);margin-bottom:1rem;font-size:.875rem;color:var(--text-color, #1a1a1a)}.spinner-small{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary-color, #0078d4);border-radius:50%;animation:spin .8s linear infinite}.section-content{margin-top:.5rem}.section-content h2{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:600;color:var(--heading-color, #1a1a1a);border-bottom:2px solid var(--primary-color, #0078d4);padding-bottom:.5rem}.section-content h3{margin-top:1.25rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600;color:var(--heading-color, #1a1a1a)}.section-content p{margin-bottom:1rem;line-height:1.6;color:var(--text-color, #1a1a1a)}.section-content ul,.section-content ol{margin-bottom:1rem;padding-left:1.5rem}.section-content li{margin-bottom:.5rem;line-height:1.6}.section-content code{padding:.125rem .375rem;background:var(--code-inline-background, #f0f0f0);border-radius:3px;font-family:Consolas,Monaco,monospace;font-size:.875em}.section-content pre{background:var(--code-background, #1e1e1e);color:var(--code-text, #d4d4d4);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1rem}.section-compliance{margin-top:1rem;padding:.75rem;background:var(--warning-background, #fff3cd);border-left:3px solid var(--warning-color, #ffc107);border-radius:4px}.section-compliance summary{cursor:pointer;font-weight:600;font-size:.875rem;color:var(--text-color, #1a1a1a);-webkit-user-select:none;user-select:none}.section-compliance summary:hover{color:var(--primary-color, #0078d4)}.section-compliance ul{margin-top:.5rem;margin-bottom:0;padding-left:1.5rem;font-size:.875rem;color:var(--text-secondary, #666666)}.doc-preview-footer{border-top:1px solid var(--border-color, #e0e0e0);background:var(--surface-color, #fafafa);padding:1.5rem;flex-shrink:0}.doc-metadata{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--text-secondary, #666666)}.metadata-item{display:flex;gap:.25rem}.metadata-item strong{color:var(--text-color, #1a1a1a)}@media (prefers-color-scheme: dark){.doc-assembly-preview{--background-color: #1a1a1a;--text-color: #e0e0e0;--text-secondary: #a0a0a0;--surface-color: #2a2a2a;--border-color: #404040;--hover-background: #353535;--primary-color: #4da3ff;--primary-hover: #3d8fdb;--button-background: #2a2a2a;--toolbar-background: rgba(42, 42, 42, .95);--section-hover-background: #2a2a2a;--heading-color: #ffffff;--code-background: #1e1e1e;--code-text: #d4d4d4;--code-inline-background: #333333;--info-background: #1e3a5f;--warning-background: #4d3800;--warning-color: #ffb300}.markdown-source{background:#0d0d0d;color:#d4d4d4}}@media (max-width: 768px){.doc-preview-header{flex-direction:column;gap:1rem}.doc-preview-actions{width:100%;justify-content:stretch}.doc-preview-actions button{flex:1}.doc-preview-content{padding:1rem}.section-toolbar{position:static;margin-bottom:.5rem}.doc-metadata{flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion: reduce){.loading-spinner,.spinner-small{animation:none;border-top-color:transparent}.section-container,.btn-secondary,.btn-primary{transition:none}}.document-export{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:780px;margin:0 auto;width:100%;min-height:0;overflow-y:auto}.export-summary-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:.75rem}.export-summary-icon{font-size:2rem;flex-shrink:0}.export-summary-info{min-width:0}.export-summary-title{font-size:1.05rem;font-weight:600;color:#1e3a5f;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-summary-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.8rem;color:#4b6080}@media (prefers-color-scheme: dark){.export-summary-card{background:#1e3a5f;border-color:#2d547a}.export-summary-title{color:#e2e8f0}.export-summary-meta{color:#94a3b8}}.export-section{display:flex;flex-direction:column;gap:.85rem}.export-section-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0;padding-bottom:.4rem;border-bottom:1px solid #e5e7eb}@media (prefers-color-scheme: dark){.export-section-title{color:#f1f5f9;border-color:#334155}}.export-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 639px){.export-format-grid{grid-template-columns:1fr}}.export-format-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.65rem;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;font-family:inherit;font-size:inherit;color:#374151}.export-format-card:hover:not(:disabled){border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.export-format-card.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb26}.export-format-card:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.export-format-card:disabled{opacity:.55;cursor:not-allowed}.format-icon{font-size:1.5rem}.format-label{font-weight:600;font-size:.95rem;color:#111827}.format-ext{font-size:.72rem;font-family:monospace;color:#6b7280;margin-top:-.1rem}.format-description{font-size:.78rem;color:#6b7280;line-height:1.4;margin-top:.3rem}.format-check{position:absolute;top:.6rem;right:.75rem;color:#2563eb;font-size:1rem;font-weight:700}@media (prefers-color-scheme: dark){.export-format-card{background:#1e293b;border-color:#334155;color:#e2e8f0}.export-format-card.selected{background:#172554;border-color:#3b82f6}.format-label{color:#f1f5f9}.format-ext,.format-description{color:#94a3b8}}.export-option-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer}.export-option-row input[type=checkbox]{flex-shrink:0;margin-top:.15rem;width:1.05rem;height:1.05rem;accent-color:#2563eb;cursor:pointer}.export-option-text{display:flex;flex-direction:column;gap:.15rem}.export-option-label{font-size:.9rem;font-weight:500;color:#1f2937}.export-option-description{font-size:.78rem;color:#6b7280;line-height:1.4}@media (prefers-color-scheme: dark){.export-option-row{background:#1e293b;border-color:#334155}.export-option-label{color:#e2e8f0}.export-option-description{color:#94a3b8}}.export-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.export-btn{display:inline-flex;align-items:center;gap:.4rem;min-width:10rem;justify-content:center}.spinner-small{display:inline-block;width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.export-error{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#991b1b}.export-error-icon{font-size:1.2rem;flex-shrink:0}.export-error p{margin:0;font-size:.875rem;line-height:1.5}@media (prefers-color-scheme: dark){.export-error{background:#3b0d0d;border-color:#7f1d1d;color:#fca5a5}}.export-success{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:#f0fdf4;border:1px solid #86efac;border-radius:.75rem}.export-success-icon{font-size:1.75rem;flex-shrink:0}.export-success-content{flex:1}.export-success-content h3{margin:0 0 .3rem;font-size:1rem;font-weight:600;color:#14532d}.export-success-content p{margin:0 0 .2rem;font-size:.875rem;color:#166534}.export-filename{font-family:monospace;font-size:.8rem!important;color:#15803d!important;background:#dcfce7;padding:.1rem .4rem;border-radius:.25rem;display:inline-block;margin-top:.25rem!important}.export-success-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}@media (max-width: 639px){.export-success{flex-direction:column}.export-success-actions{flex-direction:row;align-items:center}}@media (prefers-color-scheme: dark){.export-success{background:#052e16;border-color:#166534}.export-success-content h3{color:#86efac}.export-success-content p{color:#4ade80}.export-filename{background:#14532d;color:#86efac!important}}@media (prefers-reduced-motion: reduce){.spinner-small{animation:none;opacity:.6}.export-format-card{transition:none}}.question-reference-list{position:relative;width:280px;flex-shrink:0;background-color:#fff;border-left:2px solid #0d6efd;display:flex;flex-direction:column;box-shadow:-2px 0 12px #0000001a;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:auto}.question-reference-header{padding:12px;border-bottom:2px solid #e0e0e0;background-color:#f8f9fa;display:flex!important;justify-content:space-between!important;align-items:center!important;flex-shrink:0;gap:12px;width:100%;box-sizing:border-box;position:relative;z-index:10}.question-reference-header-title{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex:1;min-width:0}.question-reference-header h3{margin:0;font-size:14px;font-weight:600;color:#212529}.question-count{font-size:12px;color:#6c757d;font-weight:500;background-color:#e9ecef;padding:3px 10px;border-radius:10px;white-space:nowrap}.copy-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border:1px solid #adb5bd!important;background-color:#fff!important;border-radius:5px!important;cursor:pointer!important;transition:all .2s ease!important;flex-shrink:0!important;color:#6c757d!important;margin-left:auto!important;margin-right:0!important;visibility:visible!important;opacity:1!important}.copy-button:hover{background-color:#e9ecef!important;border-color:#6c757d!important;color:#212529!important}.copy-button:active{background-color:#dee2e6!important;border-color:#495057!important}.copy-button.success{background-color:#d1e7dd!important;border-color:#198754!important;color:#198754!important}.copy-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;margin:0;padding:0}height: 100%; width: 100%; } .question-reference-body{flex:1;overflow-y:auto;padding:8px;scroll-behavior:smooth}.no-questions-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px;color:#6c757d;font-size:12px;-webkit-user-select:none;user-select:none}.question-reference-item{display:flex;align-items:start;padding:10px;margin-bottom:6px;border-radius:6px;background-color:#f8f9fa;border:1px solid #dee2e6;cursor:default;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;min-height:fit-content}.question-reference-item:hover{background-color:#e9ecef;border-color:#adb5bd}.question-reference-item:focus{outline:none}.question-reference-item.active{background-color:#cfe2ff;border-color:#0d6efd;border-width:2px;box-shadow:0 2px 8px #0d6efd33}.question-reference-item.active:hover{background-color:#b6d4fe}.question-reference-item.past{opacity:.7}.question-reference-item.future{opacity:.5}.question-number{min-width:28px;display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0}.question-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background-color:#6c757d;color:#fff;border-radius:50%;font-size:11px;font-weight:600}.question-reference-item.active .question-badge{background-color:#0d6efd}.active-indicator{font-size:14px;color:#0d6efd;animation:pulse 1.5s ease-in-out infinite}.active-pulse{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px;height:8px;background-color:#0d6efd;border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.2);opacity:.6}}.question-reference-item .question-text{flex:1;font-size:12px;line-height:1.4;-webkit-user-select:none;user-select:none;overflow-wrap:break-word;word-break:break-word}.question-reference-item .question-text p{margin:0 0 3px;color:#212529;word-wrap:break-word;-webkit-user-select:none;user-select:none;white-space:normal}.question-timestamp{font-size:10px;color:#6c757d;font-style:italic}.question-reference-footer{padding:10px 12px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;text-align:center;flex-shrink:0}.helper-text{font-size:11px;color:#6c757d;font-style:italic}.question-reference-body::-webkit-scrollbar{width:6px}.question-reference-body::-webkit-scrollbar-track{background:#f1f1f1}.question-reference-body::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.question-reference-body::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 1200px){.question-reference-list{width:240px}}@media (max-width: 768px){.question-reference-list{display:none}}@media (prefers-color-scheme: dark){.question-reference-list{background-color:#1e1e1e;border-left-color:#333}.question-reference-header{background-color:#252525;border-bottom-color:#333}.question-reference-header h3{color:#e0e0e0}.question-count{background-color:#333;color:#adb5bd}.question-reference-item{background-color:#2a2a2a;border-color:#333}.question-reference-item:hover{background-color:#333;border-color:#444}.question-reference-item.active{background-color:#1a3a5a;border-color:#4a90e2}.question-reference-item.active:hover{background-color:#234a6a}.question-reference-item .question-text p{color:#e0e0e0}.question-timestamp{color:#adb5bd}.question-reference-footer{background-color:#252525;border-top-color:#333}.helper-text{color:#adb5bd}.question-reference-body::-webkit-scrollbar-track{background:#1e1e1e}.question-reference-body::-webkit-scrollbar-thumb{background:#555}.question-reference-body::-webkit-scrollbar-thumb:hover{background:#777}}.template-context-header{width:100%;max-width:800px;margin:0 auto 2rem;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border:2px solid #d0d8e8;border-radius:12px;padding:1.25rem 1.75rem;box-shadow:0 4px 12px #00000014;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.template-title{margin:0;font-size:1.5rem;font-weight:700;color:#1a1f2e;line-height:1.3;text-align:center}@media (max-width: 768px){.template-context-header{padding:1rem 1.25rem;margin-bottom:1.5rem}.template-title{font-size:1.25rem}}.document-generator-container{display:flex;flex-direction:column;height:100vh;width:100%;max-width:none;margin:0;background:#fff;border-radius:0;box-shadow:none;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:fixed;inset:0;z-index:1500}.document-generator-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.document-generator-header h1{font-size:1.5rem;font-weight:700;margin:0}.close-button{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}.close-button:hover{background:#ffffff4d}.close-button:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.workflow-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;padding:2rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.workflow-steps>div{display:flex;align-items:center;gap:0;flex:1;max-width:180px;position:relative}.step{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex:1}.step-number,.step-check{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;background:#e5e7eb;color:#fff;transition:all .2s ease-in-out;flex-shrink:0;box-shadow:0 2px 8px #00000014}.step.active .step-number,.step.active .step-check{background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f659;transform:scale(1.1)}.step.completed .step-number,.step.completed .step-check{background:#10b981;color:#fff;box-shadow:0 4px 12px #10b98159}.step-title{font-size:.75rem;font-weight:600;color:#475569;text-align:center;letter-spacing:.3px;line-height:1.2;margin-top:.5rem;width:100%}.step.active .step-title{color:#3b82f6;font-weight:700}.step.completed .step-title{color:#10b981}.step-connector{position:absolute;top:44px;left:50%;right:0;height:3px;background:#d1d5db;z-index:0;width:calc(100% + 2px);transform:translateY(-50%)}.step-connector.completed{background:#10b981}.workflow-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column}.workflow-content.with-sidebar{flex-direction:row;padding:0;overflow:hidden}.workflow-content-main{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;min-width:0}.placeholder-step{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center;color:#6b7280;background:#f9fafb;border-radius:.625rem;border:2px dashed #e5e7eb;max-width:600px;width:100%;margin:0 auto}.placeholder-icon{font-size:4rem;opacity:.6}.placeholder-step h2{margin:0;font-size:1.5rem;color:#374151;font-weight:600}.placeholder-step p{margin:.5rem 0;font-size:.95rem;line-height:1.6;max-width:500px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center;background:#fef2f2;border-radius:.625rem;border:2px solid #fecaca}.error-icon{font-size:3rem}.error-state h3{margin:0;font-size:1.25rem;color:#dc2626;font-weight:600}.error-state p{margin:.5rem 0;font-size:.95rem;color:#991b1b;line-height:1.6;max-width:500px}.error-state .btn-primary{margin-top:1rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;min-height:400px;max-width:600px;width:100%;margin:0 auto}.spinner-large{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state h3{margin:.75rem 0;font-size:1.125rem;color:#111827;font-weight:500}.loading-state p{margin:.5rem 0;color:#6b7280;line-height:1.5}.step-info{margin-top:1rem;padding:1rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;text-align:left;font-size:.9rem}.step-info p{margin:.5rem 0;color:#374151}.step-info strong{color:#111827}.workflow-navigation{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;justify-content:flex-end;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.8rem 1.75rem;border-radius:.5rem;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:140px;white-space:nowrap}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.btn-primary:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}@media (prefers-color-scheme: dark){.document-generator-container{background:#1f2937;color:#f3f4f6}.document-generator-header{border-bottom-color:#374151;background:linear-gradient(135deg,#1e40af,#1e3a8a)}.workflow-steps{background:#111827;border-bottom-color:#374151}.step-number,.step-check{background:#374151;color:#d1d5db}.step.active .step-number,.step.active .step-check{background:#3b82f6;color:#fff}.step.completed .step-number,.step.completed .step-check{background:#059669;color:#fff}.step-title{color:#9ca3af}.step.active .step-title{color:#60a5fa}.step.completed .step-title{color:#10b981}.step-connector{background:#4b5563}.step-connector.completed{background:#10b981}.workflow-content{background:#1f2937}.placeholder-step{background:#111827;border-color:#374151;color:#9ca3af}.placeholder-step h2{color:#f3f4f6}.step-info{background:#374151;border-color:#4b5563;color:#d1d5db}.step-info p{color:#d1d5db}.step-info strong{color:#f3f4f6}.workflow-navigation{border-top-color:#374151;background:#111827}.btn-secondary{background:#374151;border-color:#4b5563;color:#e5e7eb}.btn-secondary:hover{background:#4b5563;border-color:#6b7280}.loading-state h3{color:#f5f5f5}.loading-state p{color:#d1d5db}.spinner-large{border-color:#374151;border-top-color:#60a5fa}}@media (max-width: 768px){.document-generator-container{border-radius:0}.document-generator-header{flex-direction:column;gap:1rem;text-align:center}.document-generator-header h1{font-size:1.25rem}.workflow-steps{gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.step{min-width:100px}.step-number,.step-check{width:36px;height:36px;font-size:.85rem}.step-title{font-size:.65rem}.step-connector{top:18px;width:20px}.placeholder-step{padding:2rem 1rem}.placeholder-icon{font-size:3rem}.placeholder-step h2{font-size:1.25rem}.workflow-navigation{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 768px){.document-generator-container{max-width:100%}.workflow-steps{padding:1.5rem 1rem}.workflow-steps>div{max-width:160px}.step-number,.step-check{width:40px;height:40px;font-size:.85rem}.step-title{font-size:.7rem}.step-connector{top:20px}.workflow-navigation{gap:.75rem;padding:1.25rem}.btn-primary,.btn-secondary{padding:.7rem 1.25rem;font-size:.9rem;min-width:110px}}@media (max-width: 480px){.document-generator-header{padding:1rem;flex-direction:column;gap:.75rem}.document-generator-header h1{font-size:1.2rem;margin:0}.close-button{width:36px;height:36px;font-size:1.25rem;align-self:flex-end;position:absolute;top:.75rem;right:.75rem}.workflow-steps{padding:1rem .75rem;gap:0}.workflow-steps>div{max-width:130px}.step-number,.step-check{width:36px;height:36px;font-size:.8rem}.step-title{font-size:.65rem;margin-top:.4rem}.step-connector{top:18px}.workflow-content{padding:1rem}.placeholder-step{padding:2rem 1rem}.placeholder-icon{font-size:3rem}.placeholder-step h2{font-size:1.15rem}.placeholder-step p{font-size:.85rem}.workflow-navigation{flex-direction:column-reverse;padding:1rem;gap:.75rem}.btn-primary,.btn-secondary{width:100%;padding:.75rem 1rem;font-size:.9rem;min-width:auto}}@media (prefers-reduced-motion: reduce){.step-number,.step-check,.step-title,.btn-primary,.btn-secondary,.close-button{animation:none!important;transition:none!important;transform:none!important}}.step.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.assistant-theme-qms .document-generator-header{background:linear-gradient(135deg,#10b981,#059669)}.assistant-theme-qms .step-connector.completed{background:#10b981}.assistant-theme-qms .btn-primary{background:linear-gradient(135deg,#10b981,#059669)}.assistant-theme-qms .btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #10b98166}.assistant-theme-qms .btn-primary:focus{outline-color:#10b981}.assistant-theme-clinicals .document-generator-header{background:linear-gradient(135deg,#ef4444,#dc2626)}.assistant-theme-clinicals .step-connector.completed{background:#ef4444}.assistant-theme-clinicals .btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626)}.assistant-theme-clinicals .btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #ef444466}.assistant-theme-clinicals .btn-primary:focus{outline-color:#ef4444}.assistant-theme-innovation .document-generator-header{background:linear-gradient(135deg,#3b82f6,#2563eb)}.assistant-theme-innovation .step-connector.completed{background:#3b82f6}.assistant-theme-innovation .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.assistant-theme-innovation .btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #3b82f666}.assistant-theme-innovation .btn-primary:focus{outline-color:#3b82f6}.assistant-theme-pms .document-generator-header{background:linear-gradient(135deg,#f59e0b,#d97706)}.assistant-theme-pms .step-connector.completed{background:#f59e0b}.assistant-theme-pms .btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706)}.assistant-theme-pms .btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #f59e0b66}.assistant-theme-pms .btn-primary:focus{outline-color:#f59e0b}.query-document-upload{font-family:Aptos,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.upload-and-documents-container{display:flex;gap:16px;align-items:flex-start}.upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s ease-in-out;background-color:#fafbfc;position:relative;flex-shrink:0}.upload-area.compact{padding:16px;min-width:220px;max-width:280px}.upload-area:hover:not(.disabled){border-color:#3b82f6;background-color:#f0f7ff}.upload-area.drag-active{border-color:#3b82f6;background-color:#dbeafe;transform:scale(1.01)}.upload-area.disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.upload-area:focus{outline:2px solid #3b82f6;outline-offset:2px}.hidden-file-input{position:absolute;left:-9999px;visibility:hidden;width:1px;height:1px;opacity:0}.upload-content{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-content.compact{gap:6px}.upload-icon{font-size:32px;margin-bottom:8px}.upload-content.compact .upload-icon{font-size:24px;margin-bottom:4px}.upload-text{font-size:14px;font-weight:500;color:#374151;margin:0;line-height:1.3}.upload-content.compact .upload-text{font-size:13px;text-align:center}.upload-subtext{font-size:12px;color:#6b7280;margin:0;line-height:1.3}.upload-content.compact .upload-subtext{font-size:11px;text-align:center}.processing-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}.error-message{display:flex;align-items:center;gap:8px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;margin-top:12px;font-size:14px;color:#dc2626}.error-icon{font-size:16px;flex-shrink:0}.error-text{flex:1;line-height:1.4}.error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;transition:background-color .15s ease;flex-shrink:0}.error-dismiss:hover{background-color:#fee2e2}.error-dismiss:focus{outline:2px solid #dc2626;outline-offset:1px}.documents-list{flex:1;min-width:0}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.documents-title{font-size:14px;font-weight:600;color:#374151;margin:0}.clear-all-button{background:none;border:1px solid #d1d5db;color:#6b7280;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s ease}.clear-all-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.clear-all-button:disabled{opacity:.5;cursor:not-allowed}.clear-all-button:focus{outline:2px solid #3b82f6;outline-offset:1px}.documents-grid{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px;transition:all .15s ease}.document-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.document-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.document-icon{font-size:18px;flex-shrink:0}.document-details{flex:1;min-width:0}.document-name{font-size:13px;font-weight:500;color:#374151;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.document-meta{font-size:11px;color:#6b7280;margin:0;line-height:1.2}.remove-document-button{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;transition:all .15s ease;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.remove-document-button:hover:not(:disabled){background-color:#fee2e2;color:#dc2626}.remove-document-button:disabled{opacity:.5;cursor:not-allowed}.remove-document-button:focus{outline:2px solid #3b82f6;outline-offset:1px}@media (max-width: 640px){.upload-and-documents-container{flex-direction:column;gap:12px}.upload-area.compact{min-width:unset;max-width:unset;width:100%;padding:16px 12px}.upload-area{padding:20px 16px}.upload-icon{font-size:28px}.upload-content.compact .upload-icon{font-size:24px}.upload-text{font-size:13px}.upload-content.compact .upload-text{font-size:12px}.upload-subtext{font-size:11px}.upload-content.compact .upload-subtext{font-size:10px}.documents-header{flex-direction:column;align-items:flex-start;gap:8px}.document-item{padding:10px}.document-info{gap:10px}}@media (prefers-color-scheme: dark){.query-document-upload{color:#f9fafb}.upload-area,.upload-area.compact{background-color:#374151;border-color:#4b5563}.upload-area:hover:not(.disabled),.upload-area.compact:hover:not(.disabled){background-color:#1f2937;border-color:#60a5fa}.upload-area.drag-active,.upload-area.compact.drag-active{background-color:#1e3a8a;border-color:#60a5fa}.upload-area.disabled,.upload-area.compact.disabled{background-color:#374151}.upload-text{color:#f9fafb}.upload-subtext{color:#d1d5db}.documents-title{color:#f9fafb}.document-item{background-color:#374151;border-color:#4b5563}.document-item:hover{border-color:#6b7280}.document-name{color:#f9fafb}.document-meta{color:#d1d5db}.clear-all-button{background-color:#374151;border-color:#4b5563;color:#d1d5db}.clear-all-button:hover:not(:disabled){background-color:#4b5563;border-color:#6b7280;color:#f9fafb}.remove-document-button{color:#9ca3af}.remove-document-button:hover:not(:disabled){background-color:#7f1d1d;color:#fca5a5}}@media (prefers-reduced-motion: reduce){.upload-area{transition:none}.upload-area.drag-active{transform:none}.processing-spinner{animation:none}*{transition:none!important}}.upload-area:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-all-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.remove-document-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.error-dismiss:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.chat-with-documents{font-family:Aptos,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.document-upload-section{margin-bottom:16px;padding:16px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.document-processing-status{display:flex;align-items:center;gap:8px;padding:12px;margin-top:8px;background-color:#dbeafe;border:1px solid #93c5fd;border-radius:6px}.processing-spinner{font-size:16px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.processing-text{font-size:14px;color:#1e40af;font-weight:500}.document-processing-error{display:flex;align-items:center;gap:8px;padding:12px;margin-top:8px;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:6px}.error-icon{font-size:16px;color:#dc2626}.error-text{font-size:14px;color:#dc2626}.message-input-container{display:flex;flex-direction:column;gap:8px}.input-wrapper{display:flex;align-items:flex-end;gap:8px;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px;transition:border-color .15s ease}.input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-wrapper.drag-active{border-color:#059669;background-color:#ecfdf5;box-shadow:0 0 0 3px #0596691a;transform:scale(1.02)}.message-input{flex:1;border:none;outline:none;font-family:inherit;font-size:14px;line-height:1.5;resize:none;background:transparent;color:#374151;min-height:44px;max-height:200px;padding:8px 0}.message-input::placeholder{color:#9ca3af}.input-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.attach-button{position:relative;background:none;border:1px solid #d1d5db;color:#6b7280;border-radius:6px;padding:8px;cursor:pointer;font-size:16px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.attach-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.attach-button:disabled{opacity:.5;cursor:not-allowed}.attach-button.active{background-color:#dbeafe;border-color:#3b82f6;color:#3b82f6}.attach-button:focus{outline:2px solid #3b82f6;outline-offset:1px}.attachment-count{position:absolute;top:-6px;right:-6px;background-color:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;border:2px solid #ffffff}.send-button{background-color:#3b82f6;border:none;color:#fff;border-radius:6px;padding:8px;cursor:pointer;font-size:16px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.send-button:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px)}.send-button:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.send-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.send-button.stop-button{background-color:#ef4444;cursor:pointer}.send-button.stop-button:hover{background-color:#dc2626;transform:translateY(-1px)}.send-button.stop-button:focus{outline:2px solid #ef4444;outline-offset:2px}.attached-documents-preview{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:8px 12px}.attached-documents-info{display:flex;align-items:center;gap:8px;font-size:13px}.attachment-icon{font-size:14px;color:#0284c7}.attachment-text{color:#0284c7;flex:1;font-weight:500}.manage-attachments-button{background:none;border:1px solid #0284c7;color:#0284c7;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s ease}.manage-attachments-button:hover:not(:disabled){background-color:#0284c7;color:#fff}.manage-attachments-button:disabled{opacity:.5;cursor:not-allowed}.manage-attachments-button:focus{outline:2px solid #0284c7;outline-offset:1px}.usage-tip{text-align:center;margin-top:8px}.tip-text{font-size:12px;color:#6b7280;margin:0;font-style:italic}@media (max-width: 640px){.document-upload-section{padding:12px;margin-bottom:12px}.input-wrapper{padding:6px}.message-input{font-size:16px;padding:6px 0}.attach-button,.send-button{width:32px;height:32px;font-size:14px}.attachment-count{width:16px;height:16px;font-size:9px;top:-4px;right:-4px}}@media (prefers-color-scheme: dark){.chat-with-documents{color:#f9fafb}.document-upload-section{background-color:#374151;border-color:#4b5563}.document-processing-status{background-color:#1e3a8a;border-color:#3730a3}.processing-text{color:#93c5fd}.document-processing-error{background-color:#7f1d1d;border-color:#991b1b}.error-text{color:#fca5a5}.input-wrapper{background-color:#374151;border-color:#4b5563}.input-wrapper:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.message-input{color:#f9fafb}.message-input::placeholder{color:#9ca3af}.attach-button{background-color:#374151;border-color:#4b5563;color:#d1d5db}.attach-button:hover:not(:disabled){background-color:#4b5563;border-color:#6b7280;color:#f9fafb}.attach-button.active{background-color:#1e3a8a;border-color:#60a5fa;color:#60a5fa}.attached-documents-preview{background-color:#1e3a8a;border-color:#3730a3}.attachment-icon,.attachment-text{color:#93c5fd}.manage-attachments-button{border-color:#93c5fd;color:#93c5fd}.manage-attachments-button:hover:not(:disabled){background-color:#93c5fd;color:#1e3a8a}.tip-text{color:#d1d5db}}@media (prefers-reduced-motion: reduce){*{transition:none!important}.send-button:hover:not(:disabled){transform:none}}.attach-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.send-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.manage-attachments-button:focus-visible{outline:2px solid #0284c7;outline-offset:2px}.assistant-selector-container{display:flex;flex-direction:column;gap:2rem}.assistant-modal-overlay{position:fixed;inset:0;background:#0a0f1cb8;-webkit-backdrop-filter:blur(8px) saturate(1.4);backdrop-filter:blur(8px) saturate(1.4);z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,2vh,2rem);overflow-y:auto}.assistant-modal{background:linear-gradient(145deg,#fff,#f5f7fb 40%,#eef2f9);border:1px solid #d9e2ef;box-shadow:0 8px 28px -6px #191f3552,0 2px 6px -1px #191f3526;border-radius:28px;width:95vw;max-width:1600px;padding:clamp(1.25rem,2vw,2rem) clamp(1.25rem,2.4vw,2.5rem) clamp(1.5rem,2.8vw,3rem);display:flex;flex-direction:column;gap:2rem;animation:assistantModalFade .22s cubic-bezier(.4,.16,.2,1);position:relative;box-sizing:border-box}@keyframes assistantModalFade{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.assistant-modal-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.25rem}.assistant-modal-brand{display:flex;align-items:center;gap:1.25rem}.assistant-modal-logo{width:clamp(56px,6vw,82px);height:clamp(56px,6vw,82px);border-radius:22%;box-shadow:0 4px 16px -4px #191f3559,0 2px 6px -2px #191f3538;object-fit:cover;background:#fff;border:1px solid rgba(25,31,53,.08);-webkit-user-select:none;user-select:none}.assistant-modal-titleblock h1{margin:0}.assistant-modal-footer{display:flex;justify-content:flex-end;padding-top:.75rem;margin-top:1rem;border-top:1px solid #e2e8f2;z-index:10;position:relative}.assistant-modal-top-bar{position:absolute;top:.85rem;left:.85rem;right:.85rem;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;z-index:10}.assistant-modal-top-bar .language-selector{display:flex;align-items:center}.assistant-modal-top-bar .language-select{background:#ffffffe6;border:1px solid #d9e2ef;border-radius:12px;padding:.5rem .75rem;font-size:.875rem;color:#233048;cursor:pointer;transition:background .25s,box-shadow .25s;min-width:120px}.assistant-modal-top-bar .language-select:hover,.assistant-modal-top-bar .language-select:focus{background:#fff;box-shadow:0 2px 8px -2px #00000026;outline:none}.assistant-modal-close{width:40px;height:40px;border-radius:14px;border:1px solid #d9e2ef;background:#ffffffe6;font-size:1.55rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#233048;transition:background .25s,box-shadow .25s,transform .25s}.assistant-modal-close:hover,.assistant-modal-close:focus-visible{background:#fff;box-shadow:0 4px 14px -4px #00000040,0 1px 4px -1px #0000002e;outline:none}.assistant-modal-close:active{transform:scale(.92)}.assistant-modal-inline-dismissed{margin:2rem auto;max-width:780px;background:#f8fafc;border:1px dashed #c3cedc;padding:1.5rem 1.75rem;border-radius:18px;font-size:.95rem;color:#081225;box-shadow:0 2px 4px -2px #0000001a}.assistant-modal-inline-dismissed p{margin:0}.assistant-reopen-btn{margin-left:.5rem;background:linear-gradient(120deg,#3b82f6,#2563eb 60%,#1d4ed8);color:#fff;padding:.55rem 1rem .6rem;border-radius:10px;border:none;font-weight:600;font-size:.78rem;letter-spacing:.5px;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 4px 14px -4px #2563eb80,0 2px 6px -2px #2563eb66;transition:transform .35s cubic-bezier(.4,.16,.2,1),box-shadow .35s cubic-bezier(.4,.16,.2,1)}.assistant-reopen-btn:hover{transform:translateY(-3px)}.assistant-reopen-btn:focus-visible,.assistant-reopen-btn:focus,.assistant-reopen-btn:active{outline:none}.assistant-footer-hint{font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:#5d6a82;margin:0}.assistant-card-logo-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:.75rem}.assistant-card-logo{width:56px;height:56px;object-fit:cover;border-radius:16px;box-shadow:0 4px 12px -4px #0000004d,0 2px 6px -2px #0000002e;border:2px solid rgba(255,255,255,.8);background:#fff;transition:transform .4s cubic-bezier(.4,.16,.2,1),box-shadow .4s cubic-bezier(.4,.16,.2,1)}.assistant-card:hover .assistant-card-logo,.assistant-card:focus-visible .assistant-card-logo{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 28px -6px #00000059,0 3px 10px -3px #00000038}.assistant-card-title{margin:0;font-size:1.15rem;font-weight:600}.assistant-card-description{font-size:.85rem;line-height:1.3rem;color:#1f2937;min-height:2.6rem}.assistant-required-roles{display:flex;flex-wrap:wrap;gap:.35rem}.assistant-modal .assistant-required-roles{display:none}.assistant-selector-container{font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;animation:selectorFadeIn .25s ease;width:100%}.assistant-modal .assistant-grid{width:100%;max-width:100%}@keyframes selectorFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.assistant-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:2rem;width:100%;isolation:isolate}.assistant-card-wrapper{display:flex;width:100%;height:100%}.assistant-card-description{flex-grow:1;display:block;margin-bottom:.75rem}.assistant-selector-header{margin-bottom:2rem}.assistant-selector-title{font-size:2rem;font-weight:600;margin:0 0 .75rem;outline:none}.assistant-selector-description{margin:0 0 1rem;font-size:.9rem;line-height:1.4;color:#475569}.user-role-badges{display:flex;flex-wrap:wrap;gap:.4rem}.user-role-chip{background:#e2e8f0;color:#334155;padding:4px 8px;border-radius:12px;font-size:.65rem;font-weight:600;letter-spacing:.5px}.assistant-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.assistant-card-title{font-size:1.05rem;font-weight:700;margin:0;line-height:1.25;letter-spacing:-.01em;white-space:pre-line;word-spacing:9999px}.assistant-id-badge{font-size:.58rem;letter-spacing:.6px;padding:5px 8px;background:#ffffffbf;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-family:monospace;color:#4b5563;font-weight:500}.assistant-card-description{font-size:.7rem;line-height:1.3;margin:.25rem 0 .5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1 1 auto}.assistant-required-roles{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}.role-chip{font-size:.55rem;padding:4px 7px;border-radius:12px;background:#eef2ff;color:#1e3a8a;border:1px solid rgba(30,58,138,.25);letter-spacing:.4px;font-weight:500}.enter-assistant-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:650;padding:.6rem 1rem .65rem;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,#1e40af,#1d4ed8);color:#fff;border:none;box-shadow:0 3px 8px #1e3a8a66,0 1px 3px #1e3a8a33;transition:all .25s cubic-bezier(.4,.16,.2,1);margin-top:auto;margin-bottom:0;letter-spacing:.02em;flex-shrink:0}.enter-assistant-btn:hover,.enter-assistant-btn:focus-visible{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 6px 16px #1d4ed880,0 2px 6px #1d4ed84d;transform:translateY(-2px)}.enter-assistant-btn:active{background:linear-gradient(135deg,#1e3a8a,#1e40af);transform:translateY(0) scale(.96);box-shadow:0 2px 4px #1e3a8a99}.no-assistants{border:1px solid #f59e0b;background:#fffbeb;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.8rem;line-height:1.3}.bg-green-100{background:#dcfce7!important}.text-green-700{color:#047857!important}.border-green-500{border:1px solid #22c55e!important}.bg-red-100{background:#fee2e2!important}.text-red-700{color:#b91c1c!important}.border-red-500{border:1px solid #ef4444!important}.bg-blue-100{background:#dbeafe!important}.text-blue-700{color:#1d4ed8!important}.border-blue-500{border:1px solid #3b82f6!important}.bg-yellow-100{background:#fef9c3!important}.text-yellow-700{color:#a16207!important}.border-yellow-500{border:1px solid #eab308!important}.bg-purple-100{background:#f3e8ff!important}.text-purple-700{color:#7e22ce!important}.border-purple-500{border:1px solid #a855f7!important}.assistant-card{position:relative;background:linear-gradient(165deg,#fffffffa,#fafcffeb);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid rgba(0,0,0,.06);border-radius:20px;box-shadow:0 3px 8px #00000014,0 8px 24px -8px #1e40af47;outline:none;transition:box-shadow .25s cubic-bezier(.4,.16,.2,1),transform .25s cubic-bezier(.4,.16,.2,1),border-color .25s cubic-bezier(.4,.16,.2,1);display:flex;flex-direction:column;padding:1.25rem 1.25rem 1rem;cursor:pointer;overflow:hidden;width:100%}.assistant-card:hover,.assistant-card:focus-within{transform:translateY(-4px);border-color:#1e40af73;box-shadow:0 12px 32px -8px #1e40af6b,0 4px 12px #0000001f;position:relative;z-index:1}.assistant-card:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.assistant-card h3{line-height:1.2}.assistant-card p{color:#475569;flex-grow:1}.assistant-card .role-chip{background:#eef2ff;color:#1e3a8a;font-weight:500;letter-spacing:.5px;border:1px solid rgba(30,58,138,.25);border-radius:14px;padding:4px 8px}@media (prefers-color-scheme: dark){.assistant-selector-container{color:#f1f5f9}.assistant-card{background:linear-gradient(170deg,#1e293be6,#0f172ae6);border-color:#ffffff14}.assistant-card p{color:#cbd5e1}.assistant-card .role-chip{background:#334155b3;color:#e2e8f0;border-color:#94a3b84d}.assistant-card:hover,.assistant-card:focus-within{border-color:#60a5fa80;box-shadow:0 6px 18px -4px #60a5fa66,0 2px 6px #0009}}.assistant-card .enter-assistant-btn{align-self:flex-start;background:#1e40af;border:1px solid #1e3a8a;box-shadow:0 2px 4px #1e3a8a59}.assistant-card .enter-assistant-btn:hover,.assistant-card .enter-assistant-btn:focus-visible{background:#1d4ed8;border-color:#1e40af;box-shadow:0 4px 10px -2px #1d4ed880}.assistant-card .enter-assistant-btn:active{background:#1e3a8a;transform:translateY(1px);box-shadow:0 1px 3px #0006 inset}@media (prefers-reduced-motion: reduce){.assistant-card,.assistant-card:hover,.assistant-card:focus-within{transition:none;transform:none}.assistant-selector-container{animation:none}}@media (min-width: 1600px){.assistant-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1599px){.assistant-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.assistant-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.assistant-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.assistant-grid{grid-template-columns:1fr;gap:1rem}.assistant-card{min-height:unset;max-height:unset}}.feature-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:24px}.feature-list-cell{display:flex;flex-direction:column}@media (max-width: 600px){.feature-list-grid{grid-template-columns:1fr;gap:1rem}}:root{--primary-blue: #1e40af;--secondary-blue: #0891b2;--accent-cyan: #06b6d4;--text-primary: #1e293b;--text-secondary: #475569;--background-light: #f8fafc;--border-light: #e2e8f0;--white: #ffffff;--focus-outline: #3b82f6;--error-red: #dc2626}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,var(--primary-blue) 0%,#0ea5e9 50%,var(--accent-cyan) 100%);display:flex;justify-content:center;align-items:center;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--white)}.login-card{background:var(--white);border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:480px;width:90%;overflow:hidden;animation:slideUp .5s ease-out;position:relative}.login-card:focus-within{outline:3px solid var(--focus-outline);outline-offset:2px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.login-card{animation:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.login-header{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:var(--white);padding:32px 24px;text-align:center}.login-logo{margin-bottom:16px;display:flex;justify-content:center;align-items:center;gap:16px}.logo-image{width:80px;height:80px;object-fit:contain;filter:brightness(0) invert(1)}.compass-logo{border-radius:12px;filter:invert(0)}.login-title{margin:0 0 8px;font-size:2.5rem;font-weight:600;color:var(--white)}@media (max-width: 480px){.login-title{font-size:2rem}}.login-subtitle{margin:0;font-size:1.1rem;opacity:.95;color:var(--white)}.mock-auth-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:8px 12px;margin-top:8px;font-size:.9em;color:#856404;text-align:left}.mock-auth-warning strong{font-weight:600}.language-selector{margin:16px 0;text-align:center}.language-select{background:var(--white);border:2px solid var(--border-light);border-radius:6px;padding:8px 12px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;min-width:150px}.language-select:hover{border-color:var(--primary-blue)}.language-select:focus{outline:3px solid var(--focus-outline);outline-offset:2px;border-color:var(--primary-blue)}.login-content{padding:32px 24px;color:var(--text-primary)}.login-description h2{color:var(--primary-blue);margin:0 0 16px;font-size:1.5rem;font-weight:600}.feature-list{list-style:none;padding:0;margin:0 0 24px}.feature-list li{padding:8px 0;color:var(--text-secondary);font-size:1rem;display:flex;align-items:center;gap:8px}.feature-list li span[role=img]{display:inline-block;font-size:1.2em}.login-form{border-top:1px solid var(--border-light);padding-top:24px;text-align:center}.login-form button,.btn,.btn-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-blue) 100%);color:var(--white);border:none;padding:12px 32px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;display:inline-block;min-height:44px;min-width:44px}.login-form button:hover,.btn:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e40af66}.login-form button:focus,.btn:focus,.btn-primary:focus{outline:3px solid var(--focus-outline);outline-offset:2px;box-shadow:0 0 0 3px #3b82f64d}.login-form button:active,.btn:active,.btn-primary:active{transform:translateY(0)}.login-form button:disabled,.btn:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-light);padding:10px 30px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;min-height:44px;min-width:44px}.btn-secondary:hover{background-color:var(--background-light);border-color:var(--text-secondary)}.btn-secondary:focus{outline:3px solid var(--focus-outline);outline-offset:2px}.login-footer{background:var(--background-light);padding:16px 24px;text-align:center;color:var(--text-secondary);font-size:.9rem}.footer-branding{display:flex;flex-direction:column;align-items:center;gap:8px}.footer-branding>img{display:inline-block}.footer-branding>img:first-of-type{margin-right:8px}.footer-logo{width:32px;height:32px;object-fit:contain;opacity:.6}.footer-logo.compass-logo{border-radius:6px}.login-footer p{margin:0;color:var(--text-secondary)}@media (prefers-contrast: high){.login-card{border:2px solid var(--text-primary)}.login-form button,.btn-primary{border:2px solid var(--white)}.btn-secondary{border-width:3px}}@media (max-width: 480px){.login-page-container{padding:16px}.login-card{width:100%;max-width:none}.login-content,.login-header{padding:24px 16px}.login-title{font-size:2rem}}.source-links{margin-top:.75rem;padding:.75rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem}.source-links h4{font-size:.875rem;font-weight:600;color:#374151;display:flex;align-items:center;margin-bottom:.5rem}.source-links h4 span{margin-right:.5rem}.source-link{display:block;text-decoration:none;margin-bottom:.5rem}.source-link:hover{text-decoration:none}.source-no-link{cursor:default;margin-bottom:.5rem}.source-links>div{margin-bottom:.5rem}.source-links>div:last-child{text-align:center;margin-top:.75rem}.source-links .source-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background-color:#f9fafb;border-radius:.5rem;transition:all .2s ease;cursor:pointer;text-decoration:none}.source-links .source-item:hover{background-color:#f3f4f6;transform:scale(1.01);box-shadow:0 1px 3px #0000001a}.source-links .source-icon{font-size:1.125rem;flex-shrink:0;margin-top:.125rem}.source-links .source-content{flex:1;min-width:0}.source-links .source-title{font-size:.875rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-links .source-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.source-links .source-meta-item{font-size:.75rem;color:#6b7280}.source-links .source-meta-separator{font-size:.75rem;color:#9ca3af}.source-links .relevance-score{font-size:.75rem;font-weight:500}.source-links .relevance-score.high{color:#059669}.source-links .relevance-score.medium{color:#d97706}.source-links .relevance-score.low{color:#ea580c}.source-links .compliance-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.source-links .compliance-tag{font-size:.75rem;background-color:#dbeafe;color:#1e40af;padding:.125rem .375rem;border-radius:.25rem}.source-links .external-link-icon{width:1rem;height:1rem;color:#9ca3af;flex-shrink:0}.source-links .show-more-button{font-size:.875rem;color:#2563eb;font-weight:500;background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:100%;margin-top:.75rem}.source-links .show-more-button:hover{color:#1d4ed8;background-color:#eff6ff}.source-links .show-more-button:focus{outline:none;box-shadow:0 0 0 2px #3b82f6,0 0 0 4px #3b82f61a}@media (prefers-color-scheme: dark){.source-links{background-color:#1f2937;border-color:#4b5563}.source-links h4{color:#d1d5db}.source-links .source-item{background-color:#374151}.source-links .source-item:hover{background-color:#4b5563}.source-links .source-title{color:#f9fafb}.source-links .source-meta-item{color:#9ca3af}.source-links .source-meta-separator{color:#6b7280}.source-links .compliance-tag{background-color:#1e3a8a;color:#bfdbfe}.source-links .external-link-icon{color:#6b7280}.source-links .show-more-button{color:#60a5fa}.source-links .show-more-button:hover{color:#93c5fd;background-color:#1e3a8a}}@media (max-width: 640px){.source-links .source-content{min-width:0}.source-links .source-title{font-size:.75rem}.source-links .source-meta{flex-wrap:wrap}.source-links .compliance-tags{margin-top:.125rem}.source-links .compliance-tag{font-size:.75rem;padding:.0625rem .25rem}}.source-links .source-item:focus{outline:none;box-shadow:0 0 0 2px #3b82f6,0 0 0 4px #3b82f61a}@keyframes highlight-source{0%{background-color:#2563eb4d;transform:scale(1.02);box-shadow:0 0 20px #2563eb4d}50%{background-color:#2563eb33}to{background-color:transparent;transform:scale(1);box-shadow:none}}.source-item.highlighted{animation:highlight-source 1.5s ease-out;border-radius:8px}@media print{.source-links{border:1px solid #d1d5db;padding:.5rem}.source-links .source-item{background-color:#fff;border-bottom:1px solid #e5e7eb;padding:.25rem}.source-links .show-more-button{display:none}}.source-links-test-container{max-width:800px;margin:20px auto;padding:20px}.source-links-test-mock-response{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.source-links-test-expected{background:#e7f3ff;padding:15px;border-radius:8px;font-size:14px}.source-links-test-debug{background:#fff3cd;padding:15px;border-radius:8px;font-size:14px;margin-top:10px}.table-container,.table-header,.table-header h2,.table-content,.table-content table,.table-content th,.table-content td{font-family:Segoe UI,Arial,Helvetica Neue,sans-serif!important;font-size:1rem!important;font-weight:400;color:#222}.ai-assistant-app,.ai-assistant-header,.qa-header-title,.qa-header-navigation,.qa-header-auth,.metrics-grid,.charts-grid,.tables-grid,.table-container,.table-header,.table-content,.export-section,.dashboard-controls,.date-range-selector,.refresh-button,.metric-card,.chart-container,.simple-chart,.chart-bar-label,.export-button,.user-email,.btn-secondary{font-family:Segoe UI,Arial,Helvetica Neue,sans-serif;font-size:1rem;font-weight:400;color:#222}.analytics-main{background-color:#f8f9fa;padding:2rem;overflow-y:auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-controls{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.date-range-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.date-range-selector label{font-weight:500;color:#495057;font-size:.9rem}.date-range-selector input[type=date]{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.refresh-button{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.refresh-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button{padding:.75rem 1.5rem;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;margin-top:1rem}.retry-button:hover{background:#c82333}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000026}.metric-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:50%}.metric-content h3{margin:0 0 .5rem;font-size:.9rem;font-weight:500;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:2rem;font-weight:700;color:#2c3e50;margin:0}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.chart-container{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.chart-container h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#2c3e50}.simple-chart{display:flex;align-items:end;gap:4px;height:200px;padding:0 .5rem}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.chart-bar-fill{width:100%;background:linear-gradient(to top,#007bff,#4dabf7);border-radius:4px 4px 0 0;transition:all .2s ease;cursor:pointer;min-height:5px;margin-top:auto}.chart-bar-fill:hover{background:linear-gradient(to top,#0056b3,#3c9ce8)}.chart-bar-fill.queries{background:linear-gradient(to top,#28a745,#71dd8a)}.chart-bar-fill.queries:hover{background:linear-gradient(to top,#1e7e34,#5cb874)}.chart-bar-label{font-size:.75rem;color:#6c757d;margin-top:.5rem;text-align:center;transform:rotate(-45deg);transform-origin:center;white-space:nowrap;min-height:20px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.table-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#2c3e50}.export-button{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s ease}.export-button:hover{background:#545b62}.table-content{max-height:300px;overflow-y:auto}.table-content table{width:100%;border-collapse:collapse}.table-content th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#495057;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:1}.table-content td{padding:1rem;border-bottom:1px solid #f8f9fa;color:#495057}.table-content tr:hover{background:#f8f9fa}.query-text,.user-id{font-family:Courier New,monospace;font-size:.875rem}.no-data{text-align:center;color:#6c757d;padding:2rem;font-style:italic}.export-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.export-section h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:#2c3e50}.export-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.export-buttons button{padding:.75rem 1rem;background:#17a2b8;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;text-align:center}.export-buttons button:hover{background:#138496;transform:translateY(-1px)}@media (max-width: 1024px){.analytics-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:stretch}.dashboard-controls{justify-content:space-between}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.charts-grid,.tables-grid{grid-template-columns:1fr}}.chart-bar-fill.height-5{height:5%}.chart-bar-fill.height-10{height:10%}.chart-bar-fill.height-15{height:15%}.chart-bar-fill.height-20{height:20%}.chart-bar-fill.height-25{height:25%}.chart-bar-fill.height-30{height:30%}.chart-bar-fill.height-35{height:35%}.chart-bar-fill.height-40{height:40%}.chart-bar-fill.height-45{height:45%}.chart-bar-fill.height-50{height:50%}.chart-bar-fill.height-55{height:55%}.chart-bar-fill.height-60{height:60%}.chart-bar-fill.height-65{height:65%}.chart-bar-fill.height-70{height:70%}.chart-bar-fill.height-75{height:75%}.chart-bar-fill.height-80{height:80%}.chart-bar-fill.height-85{height:85%}.chart-bar-fill.height-90{height:90%}.chart-bar-fill.height-95{height:95%}.chart-bar-fill.height-100{height:100%}@media (max-width: 768px){.dashboard-header h1{font-size:2rem}.date-range-selector{flex-wrap:wrap;gap:.25rem}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:1rem}.metric-value{font-size:1.5rem}.simple-chart{height:150px}.export-buttons{grid-template-columns:1fr}}
