:root{--req-primary:#E07830;--req-primary-light:#F5A060;--req-primary-dark:#C86820;--req-bg-main:#FAFAFA;--req-bg-white:#FFFFFF;--req-bg-panel:#F8F8F8;--req-text-primary:#1A1A1A;--req-text-secondary:#666;--req-text-muted:#999;--req-border:#E5E5E5;--req-border-light:#F0F0F0;--req-success:#34A853;--req-warning:#FBBC05;--req-error:#EA4335;--req-info:#4285F4;--req-purple:#8B5CF6;--req-shadow-sm:0 1px 3px rgba(0,0,0,0.08);--req-shadow-md:0 4px 12px rgba(0,0,0,0.1);--req-radius-sm:6px;--req-radius-md:10px;--req-radius-lg:16px;--req-radius-xl:24px;--req-transition:all 0.2s ease}.req-page{position:fixed;top:88px;left:0;right:0;bottom:32px;display:flex;flex-direction:column;overflow:hidden}.data-source-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;border:1px solid var(--req-border);background:var(--req-bg-white);color:var(--req-text-secondary)}.data-source-chip.connected{border-color:var(--req-success);background:rgba(52,168,83,.08);color:var(--req-success)}.data-source-chip .status-dot{width:6px;height:6px;border-radius:50%}.data-source-chip.connected .status-dot{background:var(--req-success)}.req-container{min-height:0;background:var(--req-bg-main);overflow:hidden}.req-chat-area,.req-container{display:flex;flex:1;position:relative}.req-chat-area{flex-direction:column;transition:var(--req-transition);min-width:0}.req-chat-area.with-panel{margin-right:480px}.req-landing-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.req-landing-state.hidden{display:none}.req-landing-state .assistant-icon{width:72px;height:72px;background:var(--req-primary);border-radius:var(--req-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:var(--req-shadow-md)}.req-landing-state .assistant-icon svg{width:40px;height:40px;fill:#fff}.req-landing-state .landing-title{font-size:32px;font-weight:600;margin-bottom:12px;color:var(--req-text-primary)}.req-landing-state .landing-subtitle{font-size:16px;color:var(--req-text-secondary);max-width:500px;margin-bottom:32px}.req-prompt-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:700px}.req-prompt-chips .prompt-chip{padding:12px 20px;border-radius:var(--req-radius-xl);border:1px solid var(--req-primary-light);background:var(--req-bg-white);color:var(--req-primary);font-size:14px;cursor:pointer;transition:var(--req-transition)}.req-prompt-chips .prompt-chip:hover{background:var(--req-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--req-shadow-md)}.req-chat-thread{flex:1;overflow-y:auto;padding:24px;display:none}.req-chat-thread.active{display:block}.req-message{display:flex;gap:12px;margin-bottom:20px;animation:reqFadeIn .3s ease}.req-message.user{flex-direction:row-reverse}.req-message .message-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.req-message .message-avatar.assistant{border-radius:0;background:none}.req-message .message-content{max-width:75%}.req-message .message-bubble{padding:14px 18px;border-radius:var(--req-radius-lg);background:var(--req-bg-white);border:1px solid var(--req-border-light);box-shadow:var(--req-shadow-sm)}.req-message.user .message-bubble{background:var(--req-primary);color:#fff;border:none;position:relative}.req-message .message-edit-btn{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #e0e4ea;box-shadow:0 1px 3px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s ease,transform .15s ease;color:#6b7280;padding:0}.req-message .message-edit-btn:hover{background:#f3f4f6;color:#374151;transform:scale(1.1)}.req-message.user .message-bubble:hover .message-edit-btn{opacity:1}.req-message .message-text{font-size:13.5px;line-height:1.6}.req-message .message-rationale{margin-top:10px;padding-top:10px;border-top:1px dashed var(--req-border);font-size:13px;color:var(--req-text-muted)}.req-message .rationale-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(224,120,48,.1);color:var(--req-primary);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:6px}@keyframes reqFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.req-answer-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.req-answer-options .answer-option{padding:10px 16px;border-radius:var(--req-radius-md);border:1px solid var(--req-border);background:var(--req-bg-white);font-size:14px;cursor:pointer;transition:var(--req-transition);display:flex;align-items:center;gap:6px}.req-answer-options .answer-option:hover{border-color:var(--req-primary);background:rgba(224,120,48,.05)}.req-answer-options .answer-option.selected{border-color:var(--req-primary);background:var(--req-primary);color:#fff}.req-answer-options .answer-option .recommended{font-size:12px;color:var(--req-warning)}.req-answer-options .answer-option.selected .recommended{color:#fff}.req-answer-options .answer-option .option-description{font-size:12px;color:var(--req-text-muted);margin-top:2px}.req-answer-options .answer-option.selected .option-description{color:hsla(0,0%,100%,.8)}.req-data-warning{margin-top:12px;padding:14px;background:rgba(251,188,5,.1);border:1px solid var(--req-warning);border-radius:var(--req-radius-md)}.req-data-warning .warning-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#8b6914;margin-bottom:10px}.req-data-warning .warning-text{font-size:13px;color:var(--req-text-secondary);margin-bottom:12px}.req-fallback-options{display:flex;flex-direction:column;gap:8px}.req-fallback-options .fallback-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--req-radius-sm);border:1px solid var(--req-border);background:var(--req-bg-white);cursor:pointer;transition:var(--req-transition)}.req-fallback-options .fallback-option:hover{border-color:var(--req-primary)}.req-fallback-options .fallback-option.selected{border-color:var(--req-primary);background:rgba(224,120,48,.08)}.req-fallback-options .fallback-option .fallback-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--req-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.req-fallback-options .fallback-option.selected .fallback-radio{border-color:var(--req-primary)}.req-fallback-options .fallback-option.selected .fallback-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--req-primary)}.req-fallback-options .fallback-option .fallback-content{flex:1}.req-fallback-options .fallback-option .fallback-label{font-size:14px;font-weight:500}.req-fallback-options .fallback-option .fallback-sublabel{font-size:12px;color:var(--req-text-muted)}.req-confidence-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.req-confidence-badge.high{background:rgba(52,168,83,.15);color:var(--req-success)}.req-confidence-badge.medium{background:rgba(251,188,5,.15);color:#8b6914}.req-confidence-badge.low{background:rgba(234,67,53,.15);color:var(--req-error)}.req-multi-select{margin-top:12px}.req-multi-select .multi-select-section{margin-bottom:16px}.req-multi-select .multi-select-label{font-size:12px;font-weight:600;color:var(--req-text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:6px}.req-multi-select .multi-select-grid{display:flex;flex-wrap:wrap;gap:8px}.req-multi-select .multi-option{padding:8px 14px;border-radius:var(--req-radius-sm);border:1px solid var(--req-border);background:var(--req-bg-white);font-size:13px;cursor:pointer;transition:var(--req-transition);display:flex;align-items:center;gap:6px}.req-multi-select .multi-option:hover{border-color:var(--req-primary-light)}.req-multi-select .multi-option.selected{border-color:var(--req-primary);background:rgba(224,120,48,.1);color:var(--req-primary)}.req-multi-select .multi-option .check-icon{width:16px;height:16px;border-radius:4px;border:1px solid var(--req-border);display:flex;align-items:center;justify-content:center;font-size:10px}.req-multi-select .multi-option.selected .check-icon{background:var(--req-primary);border-color:var(--req-primary);color:#fff}.req-continue-btn{margin-top:16px;padding:12px 24px;border-radius:var(--req-radius-md);border:none;background:var(--req-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:var(--req-transition)}.req-continue-btn:hover{background:var(--req-primary-dark)}.req-continue-btn.secondary{background:var(--req-bg-panel);color:var(--req-text-secondary);border:1px solid var(--req-border)}.req-input-bar{padding:16px 24px;background:var(--req-bg-white);border-top:1px solid var(--req-border-light);display:flex;gap:12px;align-items:center}.req-input-bar .input-wrapper{flex:1;position:relative}.req-input-bar .chat-input{width:100%;padding:14px 100px 14px 18px;border-radius:var(--req-radius-lg);border:1px solid var(--req-border);font-size:15px;outline:none;transition:var(--req-transition);font-family:inherit}.req-input-bar .chat-input:focus{border-color:var(--req-primary);box-shadow:0 0 0 3px rgba(224,120,48,.1)}.req-input-bar .input-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:4px}.req-input-bar .listening-indicator{display:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;color:var(--req-error)}.req-input-bar .listening-indicator.active{display:flex}.req-input-bar .listening-indicator .listening-dot{width:8px;height:8px;background:var(--req-error);border-radius:50%;animation:reqBlink 1s infinite}.req-input-bar .mic-btn,.req-input-bar .send-btn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--req-transition)}.req-input-bar .mic-btn svg,.req-input-bar .send-btn svg{width:20px;height:20px}.req-input-bar .mic-btn{background:var(--req-bg-panel);color:var(--req-text-secondary)}.req-input-bar .mic-btn:hover{background:var(--req-border)}.req-input-bar .mic-btn.listening{background:var(--req-error);color:#fff;animation:reqPulse 1.5s infinite}.req-input-bar .send-btn{background:var(--req-primary);color:#fff}.req-input-bar .send-btn:hover{background:var(--req-primary-dark)}.req-input-bar .send-btn:disabled{background:var(--req-border);cursor:not-allowed}@keyframes reqBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes reqPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.req-cohort-panel{width:480px;background:var(--req-bg-white);border-left:1px solid var(--req-border);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;transform:translateX(100%);transition:var(--req-transition);z-index:50}.req-cohort-panel.visible{transform:translateX(0)}.req-cohort-panel .panel-header{padding:16px 20px;border-bottom:1px solid var(--req-border-light);display:flex;align-items:center;justify-content:space-between}.req-cohort-panel .panel-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.req-cohort-panel .live-badge{background:var(--req-error);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;animation:reqPulse 2s infinite}.req-cohort-panel .panel-content{flex:1;overflow-y:auto;padding:16px 20px}.req-cohort-panel .section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--req-text-muted);margin-bottom:10px}.req-summary-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.req-summary-pills .summary-pill{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500}.req-summary-pills .summary-pill.indication{background:rgba(66,133,244,.12);color:var(--req-info)}.req-summary-pills .summary-pill.objective{background:rgba(139,92,246,.12);color:var(--req-purple)}.req-summary-pills .summary-pill.setting{background:rgba(52,168,83,.12);color:var(--req-success)}.req-summary-pills .summary-pill.biomarker{background:rgba(234,67,53,.12);color:var(--req-error)}.req-summary-pills .summary-pill.payer{background:rgba(251,188,5,.15);color:#8b6914}.req-logic-block{background:var(--req-bg-panel);border:1px solid var(--req-border-light);border-radius:var(--req-radius-md);padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:var(--req-transition)}.req-logic-block:hover{border-color:var(--req-primary-light)}.req-logic-block.proxy{border-style:dashed;border-color:var(--req-warning);background:rgba(251,188,5,.05)}.req-logic-block.blocked{border-style:dashed;border-color:var(--req-error);background:rgba(234,67,53,.05)}.req-logic-block .block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.req-logic-block .block-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--req-text-muted);display:flex;align-items:center;gap:6px}.req-logic-block .block-edit{font-size:11px;color:var(--req-primary);cursor:pointer;opacity:0;transition:var(--req-transition)}.req-logic-block:hover .block-edit{opacity:1}.req-logic-block .block-value{font-size:14px;font-weight:500}.req-block-connector{text-align:center;font-size:11px;font-weight:600;color:var(--req-text-muted);padding:4px 0}.req-ledger-table{width:100%;font-size:12px;margin-bottom:20px}.req-ledger-table .ledger-header{padding:8px 10px;background:var(--req-bg-panel);border-radius:var(--req-radius-sm);font-weight:600;color:var(--req-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.req-ledger-table .ledger-header,.req-ledger-table .ledger-row{display:grid;grid-template-columns:1fr 70px 70px 60px 40px;gap:8px}.req-ledger-table .ledger-row{padding:10px;border-bottom:1px solid var(--req-border-light);align-items:center}.req-ledger-table .ledger-row:last-child{border-bottom:none}.req-ledger-table .ledger-rule{font-weight:500}.req-ledger-table .ledger-method{color:var(--req-text-secondary)}.req-ledger-table .ledger-source{display:flex;align-items:center;gap:4px}.req-ledger-table .ledger-source.available{color:var(--req-success)}.req-ledger-table .ledger-source.missing{color:var(--req-error)}.req-ledger-table .ledger-edit{color:var(--req-primary);cursor:pointer;font-weight:500}.questions-count{font-weight:400;text-transform:none;letter-spacing:0;color:var(--req-text-muted);margin-left:6px;font-size:10px}.req-questions-list{background:var(--req-bg-panel);border-radius:var(--req-radius-md);padding:4px 0}.req-question-item{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:13px;color:var(--req-text-muted);transition:var(--req-transition)}.req-question-item.answered{color:var(--req-success);opacity:.7}.req-question-item.answered .question-label{text-decoration:line-through}.req-question-item.active{color:var(--req-text-primary);background:rgba(224,120,48,.06);font-weight:500}.req-question-item .question-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--req-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--req-transition)}.req-question-item.answered .question-check{background:var(--req-success);border-color:var(--req-success);color:#fff}.req-question-item.active .question-check{border-color:var(--req-primary)}.req-question-item.active .question-check .active-dot{width:8px;height:8px;border-radius:50%;background:var(--req-primary);animation:reqPulse 1.5s infinite}.req-question-item .question-label{flex:1;text-transform:capitalize}.req-question-item .followup-tag{display:inline-block;background:rgba(139,92,246,.1);color:var(--req-purple);font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;margin-left:6px;text-transform:none;text-decoration:none}.req-panel-footer{padding:16px 20px;border-top:1px solid var(--req-border-light);background:var(--req-bg-white)}.req-panel-footer .count-display{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.req-panel-footer .count-label{font-size:12px;color:var(--req-text-muted)}.req-panel-footer .count-value{font-size:20px;font-weight:600}.req-panel-footer .count-pending{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--req-text-muted)}.req-panel-footer .count-pending .pending-dot{width:8px;height:8px;border-radius:50%;background:var(--req-warning);animation:reqPulse 1.5s infinite}.req-panel-footer .generate-btn{width:100%;padding:14px;border-radius:var(--req-radius-md);border:none;background:var(--req-primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:var(--req-transition);display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.req-panel-footer .generate-btn:hover{background:var(--req-primary-dark)}.req-panel-footer .generate-btn:disabled{background:var(--req-border);cursor:not-allowed}.req-panel-footer .generate-btn svg{width:18px;height:18px;fill:currentColor}.req-panel-footer .preview-sql-btn{width:100%;padding:12px;border-radius:var(--req-radius-md);border:1px solid var(--req-border);background:var(--req-bg-white);color:var(--req-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--req-transition)}.req-panel-footer .preview-sql-btn:hover{border-color:var(--req-primary);color:var(--req-primary)}.req-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:200}.req-modal,.req-modal-overlay.active{display:flex}.req-modal{background:var(--req-bg-white);border-radius:var(--req-radius-lg);max-width:800px;width:90%;max-height:85vh;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.12)}.req-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--req-border-light);display:flex;justify-content:space-between;align-items:center}.req-modal .modal-title{font-size:18px;font-weight:600}.req-modal .modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--req-bg-panel);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--req-transition)}.req-modal .modal-close:hover{background:var(--req-border)}.req-modal .modal-close svg{width:18px;height:18px;fill:var(--req-text-secondary)}.req-modal .modal-content{flex:1;overflow-y:auto;padding:24px}.req-modal .modal-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--req-border-light);padding-bottom:12px}.req-modal .modal-tab{padding:8px 16px;border-radius:var(--req-radius-sm);border:none;background:rgba(0,0,0,0);font-size:13px;font-weight:500;color:var(--req-text-secondary);cursor:pointer;transition:var(--req-transition)}.req-modal .modal-tab:hover{background:var(--req-bg-panel)}.req-modal .modal-tab.active{background:var(--req-primary);color:#fff}.req-code-block{background:#1e1e1e;color:#d4d4d4;padding:20px;border-radius:var(--req-radius-md);font-family:Monaco,Menlo,monospace;font-size:13px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.req-copy-btn{margin-top:12px;padding:10px 20px;border-radius:var(--req-radius-sm);border:1px solid var(--req-border);background:var(--req-bg-white);font-size:13px;cursor:pointer;transition:var(--req-transition)}.req-copy-btn:hover{border-color:var(--req-primary);color:var(--req-primary)}.req-sql-warning{background:rgba(234,67,53,.1);border:1px solid var(--req-error);border-radius:var(--req-radius-md);padding:14px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px}.req-sql-warning .warning-icon{color:var(--req-error);font-size:20px;flex-shrink:0}.req-sql-warning .warning-title{font-weight:600;margin-bottom:4px}.req-sql-warning .warning-text{font-size:13px}.req-summary-content{font-size:14px}.req-summary-content .summary-stat{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--req-border-light)}.req-summary-content .summary-stat:last-child{border-bottom:none}.req-summary-content .summary-stat .stat-label{color:var(--req-text-secondary)}.req-summary-content .summary-stat .stat-value{font-weight:600}.req-followup-badge{background:var(--req-purple);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;margin-left:8px}.sp-container{margin-top:12px}.sp-info-box{display:flex;gap:12px;padding:14px 16px;border-radius:var(--req-radius-md);border:1px solid var(--req-primary-light);background:rgba(224,120,48,.06);margin-bottom:16px}.sp-info-icon{font-size:18px;flex-shrink:0;margin-top:1px}.sp-info-content{flex:1}.sp-info-title{font-size:14px;font-weight:600;color:var(--req-primary-dark);margin-bottom:4px}.sp-info-text{font-size:13px;color:var(--req-text-secondary);line-height:1.5}.sp-info-text strong{color:var(--req-text-primary)}.sp-options-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sp-option-card{padding:10px 16px;border-radius:var(--req-radius-md);border:1px solid var(--req-border);background:var(--req-bg-white);cursor:pointer;transition:var(--req-transition);text-align:left;display:flex;flex-direction:column;gap:2px}.sp-option-card:hover{border-color:var(--req-primary);background:rgba(224,120,48,.04)}.sp-option-card.selected{border-color:var(--req-primary);background:var(--req-primary);color:#fff}.sp-option-card.selected .sp-star{color:#fff}.sp-option-card.selected .sp-option-sub{color:hsla(0,0%,100%,.8)}.sp-option-label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px}.sp-star{color:var(--req-warning);font-size:12px}.sp-option-sub{font-size:11px}.sp-divider,.sp-option-sub{color:var(--req-text-muted)}.sp-divider{text-align:center;font-size:12px;margin:12px 0;position:relative}.sp-divider span{background:var(--req-bg-white);padding:0 12px;position:relative;z-index:1}.sp-custom-section{margin-top:8px}.sp-custom-title{font-size:14px;font-weight:600;color:var(--req-text-primary);margin-bottom:10px}.sp-custom-fields{display:flex;gap:12px;margin-bottom:12px}.sp-field{flex:1}.sp-field-label{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--req-text-muted);margin-bottom:4px;display:block}.sp-date-picker{width:100%;height:38px;border-color:var(--req-border)!important;border-radius:var(--req-radius-sm)!important;font-size:14px!important;box-shadow:none!important}.sp-date-picker:hover,.sp-date-picker[data-state=open]{border-color:var(--req-primary)!important}.sp-date-picker[data-state=open]{box-shadow:0 0 0 3px rgba(224,120,48,.1)!important}.sp-custom-btn{padding:10px 20px;border-radius:var(--req-radius-md);border:1px solid var(--req-primary);background:var(--req-bg-white);color:var(--req-primary);font-size:13px;font-weight:600;cursor:pointer;transition:var(--req-transition)}.sp-custom-btn:hover{background:rgba(224,120,48,.06)}.req-text-muted{color:var(--req-text-muted)}.req-text-sm{font-size:12px}