:root{--navy: #1B365D;--navy-light: #2A4A7A;--navy-dark: #122440;--gold: #C4A265;--gold-hover: #D4B275;--gold-dark: #A8893E;--surface-base: #FFFFFF;--surface-elevated: #F8F9FA;--surface-sunken: #F1F3F5;--surface-hover: #E9ECEF;--text-primary: #1A1A1A;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-inverse: #FFFFFF;--border: #E5E7EB;--border-light: #F3F4F6;--error: #C0392B;--error-bg: #FDEDEB;--accent: var(--navy);--accent-subtle: rgba(27, 54, 93, .08);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 24px;--radius-full: 9999px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-layout{display:flex;flex-direction:column;height:100vh;max-height:100vh;background:var(--surface-base)}.chat-topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light);flex-shrink:0;min-height:48px}.chat-topbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:background .15s}.chat-topbar-btn:hover:not(:disabled){background:var(--surface-sunken)}.chat-topbar-new{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:default}.chat-topbar-spacer{flex:1}.chat-topbar-brand{font-weight:700;font-size:var(--text-base);color:var(--gold-dark);letter-spacing:.05em}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:var(--space-6) var(--space-4);gap:0}.chat-welcome-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-primary);margin-bottom:var(--space-5)}.chat-welcome-title{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.chat-welcome-name{color:var(--text-tertiary)}.chat-welcome-sub{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-10)}.chat-suggestions{display:flex;gap:var(--space-3);max-width:720px;width:100%}.chat-suggestion-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--surface-base);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:var(--font);transition:border-color .2s,box-shadow .2s}.chat-suggestion-card:hover{border-color:var(--navy-light);box-shadow:0 2px 12px #1b365d14}.chat-suggestion-icon{color:var(--text-secondary)}.chat-suggestion-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.chat-suggestion-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.msg{display:flex;max-width:680px;width:100%;margin:0 auto}.msg-user{justify-content:flex-end}.msg-assistant{justify-content:flex-start}.msg-bubble{max-width:85%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:1.6;word-break:break-word}.msg-bubble-user{background:var(--navy);color:var(--text-inverse);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl)}.msg-bubble-assistant{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm)}.msg-bubble strong{font-weight:600}.msg-bubble ul,.msg-bubble ol{margin:var(--space-1) 0;padding-left:var(--space-5)}.msg-bubble li{margin-bottom:2px}.typing-indicator{display:flex;align-items:center;gap:4px;padding:var(--space-3) var(--space-4);background:var(--surface-elevated);border:1px solid var(--border-light);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);width:fit-content;max-width:680px;margin:0 auto;align-self:flex-start}.typing-indicator span{display:block;width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);animation:typing 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--navy);margin-left:2px;vertical-align:text-bottom;animation:blink-cursor .8s steps(2) infinite}@keyframes blink-cursor{0%{opacity:1}50%{opacity:0}to{opacity:1}}.typing-indicator.thinking{gap:6px;color:var(--text-secondary);font-size:var(--text-sm)}.typing-indicator.thinking svg{animation:spin 1.5s linear infinite;opacity:.6}.thinking-text{animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.5}50%{opacity:1}}.inline-processing{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--text-tertiary);font-size:var(--text-sm)}.inline-processing svg{animation:spin 1.5s linear infinite}.inline-processing span{animation:pulse-text 1.5s ease-in-out infinite}.chat-input-bar{padding:var(--space-3) var(--space-5) var(--space-5);flex-shrink:0}.chat-input-wrap{display:flex;align-items:flex-end;gap:var(--space-2);max-width:680px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);background:var(--surface-base);transition:border-color .15s,box-shadow .15s}.chat-input-wrap:focus-within{border-color:var(--navy-light);box-shadow:0 0 0 3px #1b365d14}.chat-input{flex:1;resize:none;border:none;padding:var(--space-2) 0;font-family:var(--font);font-size:var(--text-base);line-height:1.45;color:var(--text-primary);background:transparent;outline:none;max-height:120px;overflow-y:auto}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:disabled{opacity:.6}.chat-send{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-full);background:var(--navy);color:var(--text-inverse);cursor:pointer;flex-shrink:0;transition:background .15s,opacity .15s}.chat-send:hover:not(:disabled){background:var(--navy-light)}.chat-send:disabled{opacity:.3;cursor:not-allowed}.generate-bar{display:flex;justify-content:center;padding:var(--space-2) var(--space-5);flex-shrink:0}.generate-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--gold);color:var(--navy-dark);font-family:var(--font);font-size:var(--text-base);font-weight:600;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 2px 8px #1b365d2e}.generate-btn:hover:not(:disabled){background:var(--gold-hover);transform:translateY(-1px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.7;cursor:wait}.generate-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--navy-dark);border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editable-table-wrap{margin:var(--space-4) 0;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-base);box-shadow:0 1px 3px #0000000f}.editable-table-title{padding:12px 16px;font-weight:700;font-size:var(--text-md);color:var(--navy);background:var(--surface-sunken);border-bottom:1px solid var(--border)}.table-loading{padding:var(--space-3) 0;color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic}.editable-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.editable-table th{background:var(--navy);color:var(--text-inverse);padding:10px 14px;text-align:left;font-weight:600;white-space:nowrap;font-size:var(--text-sm);letter-spacing:.02em}.editable-table th:first-child{min-width:180px}.editable-table td{padding:2px;border-bottom:1px solid var(--border-light);vertical-align:middle}.editable-table tr:nth-child(2n){background:var(--surface-sunken)}.editable-table tr:hover{background:var(--accent-subtle)}.editable-table-input{width:100%;border:1px solid transparent;background:transparent;padding:10px 12px;font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);outline:none;transition:border-color .15s,background .15s;min-height:40px}.editable-table-input:hover{background:var(--surface-hover)}.editable-table-input:focus{border-color:var(--navy-light);background:var(--surface-base);box-shadow:inset 0 0 0 1px var(--navy-light)}.editable-table-actions{width:36px;text-align:center}.editable-table-remove{border:none;background:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;line-height:1;padding:4px;border-radius:var(--radius-sm);transition:color .15s,background .15s}.editable-table-remove:hover{color:var(--error);background:var(--error-bg)}.editable-table-add{display:inline-block;margin:10px 16px;border:1px dashed var(--border);background:none;color:var(--text-secondary);font-family:var(--font);font-size:var(--text-sm);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.editable-table-add:hover{border-color:var(--navy-light);color:var(--navy)}.construction-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);z-index:9999}.construction-modal{text-align:center;padding:var(--space-12) var(--space-8);max-width:480px;width:90%;background:var(--surface-base);border-radius:var(--radius-xl);box-shadow:0 25px 60px #00000059;animation:constructionFadeIn .6s ease-out}@keyframes constructionFadeIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.construction-icon{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--accent-subtle);color:var(--accent);margin-bottom:var(--space-6)}.construction-title{font-size:1.625rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-3);letter-spacing:-.025em}.construction-text{font-size:var(--text-md);color:var(--text-secondary);margin:0 0 var(--space-6);line-height:1.6}.construction-divider{width:48px;height:2px;background:var(--gold);margin:0 auto var(--space-6);border-radius:1px}.construction-signature{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8;margin:0;font-weight:500}.skeleton-wrap{display:flex;flex-direction:column;height:100vh;background:var(--surface-base)}.skeleton-header{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light)}.skeleton-line{height:12px;border-radius:var(--radius-sm);background:var(--surface-sunken);animation:shimmer 1.6s ease-in-out infinite}.skeleton-line.w60{width:60px}.skeleton-line.w40{width:100px}.skeleton-line.full{width:100%}.skeleton-body{flex:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);max-width:680px;margin:0 auto;width:100%}.skeleton-bubble{height:48px;border-radius:var(--radius-xl);animation:shimmer 1.6s ease-in-out infinite}.skeleton-bubble.left{width:55%;background:var(--surface-sunken);align-self:flex-start}.skeleton-bubble.right{width:40%;background:var(--surface-sunken);align-self:flex-end}.skeleton-bubble.wide{width:70%}.skeleton-input{padding:var(--space-3) var(--space-5)}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.5}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--space-2);padding:var(--space-6);text-align:center}.error-icon{color:var(--error);margin-bottom:var(--space-2)}.error-title{font-weight:600;font-size:var(--text-md);color:var(--text-primary)}.error-detail{font-size:var(--text-sm);color:var(--text-secondary);max-width:360px;line-height:1.6}.insurer-selector{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--border)}.insurer-selector-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.insurer-chips{display:flex;flex-wrap:wrap;gap:8px}.insurer-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface-base);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);transition:all .15s ease}.insurer-chip:hover{border-color:var(--navy-light);background:var(--accent-subtle)}.insurer-chip-active{border-color:var(--navy);background:var(--accent-subtle);font-weight:600}.insurer-chip-logo{width:28px;height:28px;object-fit:contain;border-radius:4px}.insurer-chip-check{color:var(--navy);font-weight:700}.insurer-confirm-btn{align-self:flex-start;padding:8px 20px;background:var(--navy);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s ease}.insurer-confirm-btn:hover:not(:disabled){background:var(--navy-light)}.insurer-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.insurer-confirmed{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:var(--accent-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--navy);font-weight:500}.insurer-confirmed-logo{width:24px;height:24px;object-fit:contain;border-radius:3px}.editable-table-footer{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border-light);background:var(--surface-sunken)}.editable-table-confirm{padding:8px 20px;background:var(--navy);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s ease}.editable-table-confirm:hover{background:var(--navy-light)}.editable-table-confirmed-badge{font-size:var(--text-sm);color:var(--navy);font-weight:700;padding:6px 14px;background:var(--accent-subtle);border-radius:var(--radius-md)}.dynamic-form{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--border)}.dynamic-form-title{font-size:var(--text-md);font-weight:600;color:var(--navy);margin-bottom:4px}.dynamic-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dynamic-form-field{display:flex;flex-direction:column;gap:4px}.dynamic-form-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dynamic-form-input,.dynamic-form-select,.dynamic-form-textarea{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-base);transition:border-color .15s ease}.dynamic-form-input:focus,.dynamic-form-select:focus,.dynamic-form-textarea:focus{outline:none;border-color:var(--navy)}.dynamic-form-select{cursor:pointer}.dynamic-form-textarea{resize:vertical;min-height:60px}.dynamic-form-submit{align-self:flex-start;padding:8px 20px;background:var(--navy);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s ease;margin-top:4px}.dynamic-form-submit:hover{background:var(--navy-light)}.dynamic-form-confirmed{padding:10px 16px;background:var(--accent-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--navy)}.pdf-uploader{display:flex;align-items:center;gap:6px;flex-shrink:0}.pdf-uploader-label{cursor:pointer}.pdf-uploader-input{display:none}.pdf-uploader-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:transparent;transition:all .15s ease;cursor:pointer}.pdf-uploader-btn:hover{color:var(--navy);background:var(--accent-subtle)}.pdf-uploader-btn.pdf-uploading{color:var(--navy);pointer-events:none}.pdf-uploader-btn.pdf-uploading svg{animation:spin 1.5s linear infinite}.pdf-uploader-count{font-size:var(--text-xs);color:var(--navy);font-weight:600}.pdf-uploader-send{padding:4px 10px;background:var(--navy);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .15s ease}.pdf-uploader-send:hover:not(:disabled){background:var(--navy-light)}.pdf-uploader-send:disabled{opacity:.5;cursor:not-allowed}
