.ai-analyst-layout{display:flex;height:100vh;height:100dvh;width:100vw;background-color:var(--bg-primary);overflow:hidden}.ai-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);transition:width var(--transition-normal);display:flex;flex-direction:column;z-index:20}.ai-sidebar.open{width:300px;min-width:300px}.ai-sidebar.closed{width:60px;min-width:60px;align-items:center}.sidebar-header{height:64px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.ai-sidebar.closed .sidebar-header{justify-content:center}.sidebar-title{font-size:1rem;font-weight:700;margin:0}.icon-button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.icon-button:hover{background-color:var(--bg-accent);color:var(--text-main)}.sidebar-content{padding:1.5rem;display:flex;flex-direction:column;gap:2rem;flex:1;overflow-y:auto}.sidebar-section{display:flex;flex-direction:column;gap:.75rem}.sidebar-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.upload-box{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;background-color:var(--bg-primary);position:relative;cursor:pointer;transition:all var(--transition-fast)}.upload-box:hover{border-color:var(--primary);background-color:var(--primary-light)}.upload-icon{color:var(--primary)}.upload-box span{font-size:.875rem;font-weight:600;color:var(--text-main)}.upload-hint{font-size:.75rem!important;color:var(--text-muted)!important;font-weight:500!important}.file-input-hidden{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.nav-link-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);font-weight:600;font-size:.875rem;text-decoration:none;transition:all var(--transition-fast)}.nav-link-btn:hover{background-color:var(--border-color)}.chat-history-section{flex:1}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);margin-bottom:1rem}.new-chat-btn:hover{background-color:var(--primary-hover)}.history-list{display:flex;flex-direction:column;gap:.25rem}.history-item-wrapper{position:relative;display:flex;align-items:center;width:100%}.history-item{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;padding:.75rem 2.25rem .75rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-main);font-size:.875rem;font-weight:500}.history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item:hover{background-color:var(--bg-accent)}.history-item.active{background-color:var(--primary-light);color:var(--primary);font-weight:600}.history-menu-btn{position:absolute;right:.5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-fast)}.history-item-wrapper:hover .history-menu-btn,.history-menu-btn.menu-open{opacity:1}.history-menu-btn:hover{background-color:#0000000d;color:var(--text-main)}.history-context-menu{position:absolute;top:90%;right:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;min-width:120px;overflow:hidden;animation:fadeIn .15s ease}.context-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;font-size:.8rem;font-weight:600;background:transparent;border:none;color:#ef4444;cursor:pointer;text-align:left;transition:background-color .15s}.context-menu-item:hover{background-color:#ef444414}.ai-main{flex:1;display:flex;flex-direction:column;background-color:var(--bg-secondary)}.ai-header{height:64px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 2rem;background-color:var(--bg-secondary);box-shadow:var(--shadow-sm);z-index:10}.header-title{display:flex;align-items:center;gap:1rem}.header-title h1{font-size:1.25rem;margin:0}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:justify-content .4s cubic-bezier(.16,1,.3,1),padding .4s cubic-bezier(.16,1,.3,1)}.messages-list{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:flex .4s cubic-bezier(.16,1,.3,1),margin .4s cubic-bezier(.16,1,.3,1),padding .4s cubic-bezier(.16,1,.3,1)}.message-row{display:flex;width:100%}.message-row.user{justify-content:flex-end}.message-row.ai{justify-content:flex-start}.message-bubble{max-width:80%;display:flex;gap:1rem;align-items:flex-start}.message-bubble.user .message-content{background-color:var(--bg-accent);color:var(--text-main);padding:1rem 1.25rem;border-radius:1.5rem 1.5rem 0;font-size:.95rem;line-height:1.5}.message-bubble.ai .message-content{background-color:transparent;color:var(--text-main);padding:0;border-radius:0;font-size:.95rem;line-height:1.5;border:none}.ai-avatar{flex-shrink:0}.logo-icon.mini{width:32px;height:32px;font-size:.85rem;border-radius:var(--radius-sm)}.input-area{padding:1.5rem 2rem;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);transition:all .4s cubic-bezier(.16,1,.3,1)}.input-form{max-width:800px;margin:0 auto;position:relative;display:flex;align-items:center}.chat-input{width:100%;padding:1.25rem 3.75rem;min-height:64px;border:1px solid var(--border-color);border-radius:1.5rem;font-size:1rem;font-family:var(--font-body);background-color:var(--bg-primary);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);resize:none;overflow-y:auto;line-height:1.5;max-height:180px;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}.chat-input::-webkit-scrollbar{display:none}.chat-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #2563eb1a;background-color:var(--bg-secondary)}.send-btn{position:absolute;right:.75rem;bottom:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.send-btn:hover:not(:disabled){background-color:var(--primary-hover);transform:scale(1.05)}.send-btn:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.input-disclaimer{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:.75rem}.typing-dots{display:flex;align-items:center;gap:5px;padding:.25rem .5rem}.typing-dots span{width:8px;height:8px;background-color:var(--primary);border-radius:50%;display:inline-block;animation:typing-bounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.1);opacity:1}}.message-content{white-space:pre-wrap;word-break:break-word}.formatted-message{display:flex;flex-direction:column;gap:.5rem;width:100%}.chat-p{margin:0;line-height:1.6}.chat-ul{margin:.5rem 0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.4rem}.chat-li{line-height:1.55;list-style-type:disc}.chat-ol-item{display:flex;gap:.5rem;margin:.25rem 0;align-items:flex-start;line-height:1.55}.chat-ol-num{font-weight:700;color:var(--primary);flex-shrink:0}.chat-ol-content{flex:1}.chat-bold{font-weight:700;color:inherit}.chat-code{font-family:monospace;background-color:#0000000f;padding:.15rem .35rem;border-radius:.25rem;font-size:.85em;border:1px solid rgba(0,0,0,.08)}.chat-h1,.chat-h2,.chat-h3,.chat-h4,.chat-h5,.chat-h6{margin:.75rem 0 .25rem;font-weight:700;color:var(--text-main)}.chat-h1{font-size:1.25rem}.chat-h2{font-size:1.2rem}.chat-h3{font-size:1.15rem}.chat-h4{font-size:1.1rem}.chat-br{height:.5rem}.sidebar-mobile-backdrop{display:none}.sidebar-menu{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.sidebar-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.65rem .85rem;font-size:.875rem;font-weight:600;color:var(--text-main, #334155);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .2s);text-decoration:none;box-sizing:border-box;text-align:left}.sidebar-menu-item:hover{background-color:var(--bg-accent, #f1f5f9);color:var(--primary, #2563eb)}.sidebar-menu-item.active{background-color:var(--primary-light, #eff6ff);color:var(--primary, #2563eb);border:1px solid rgba(37,99,235,.15)}.sidebar-menu-item svg{color:var(--text-muted, #64748b);flex-shrink:0;transition:color var(--transition-fast, .2s)}.sidebar-menu-item:hover svg,.sidebar-menu-item.active svg{color:var(--primary, #2563eb)}.ai-sidebar.closed .sidebar-content{padding:1rem .5rem;align-items:center}.ai-sidebar.closed .sidebar-menu{align-items:center;width:100%}.ai-sidebar.closed .sidebar-menu-item{justify-content:center;padding:0;width:40px;height:40px;gap:0}.ai-sidebar.closed .logo-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast, .2s)}.ai-sidebar.closed .logo-btn:hover{transform:scale(1.05)}.sidebar-divider{border:0;border-top:1px solid var(--border-color, #e2e8f0);margin:1rem 0}.toast-notification{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;background-color:#0f172a;color:#fff;padding:.75rem 1.25rem;border-radius:8px;box-shadow:0 10px 15px -3px #0000004d;z-index:9999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.reforma-tributaria-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background-color:var(--primary-light);border-bottom:1px solid var(--border-color);gap:1rem;z-index:10;animation:fadeIn var(--transition-fast) ease-out}.reforma-tributaria-banner .banner-content{display:flex;align-items:center;gap:.75rem}.reforma-tributaria-banner .banner-title{font-weight:700;font-size:.875rem;color:var(--text-main);margin:0}.reforma-tributaria-banner .banner-desc{font-size:.75rem;color:var(--text-muted);margin:2px 0 0}.reforma-tributaria-banner .banner-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);background-color:var(--primary);color:#fff;font-weight:600;font-size:.75rem;text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast) ease}.reforma-tributaria-banner .banner-btn:hover{background-color:var(--primary-hover)}.structured-components-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;margin-top:.5rem}.tax-impact-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%}.tax-impact-cards-grid.compact{grid-template-columns:1fr}.tax-impact-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.tax-impact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.tax-impact-card.cost{border-left:4px solid var(--accent-rose)}.tax-impact-card.confidence{border-left:4px solid var(--accent-amber)}.card-header-mini{display:flex;align-items:center}.card-label{font-size:.75rem;color:var(--text-muted);font-weight:600}.card-body-mini{display:flex;align-items:baseline;margin-top:.25rem}.card-value-span{font-size:1.1rem;font-weight:800;color:var(--text-main);letter-spacing:-.01em}.confidence-badge-span{font-size:.75rem;font-weight:800;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.confidence-badge-span.preliminar{background-color:#fef3c7;color:#d97706}.confidence-badge-span.alta{background-color:#d1fae5;color:#065f46}.tax-transition-chart-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;width:100%;box-shadow:var(--shadow-sm)}.chart-card-header{font-size:.85rem;font-weight:700;color:var(--text-main);border-bottom:1px dashed var(--border-color);padding-bottom:.5rem;margin-bottom:.5rem}.chart-custom-tooltip-chat{background-color:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px;box-shadow:var(--shadow-md);font-size:.75rem}.chart-custom-tooltip-chat .tooltip-year{font-weight:700;color:var(--text-main)}.chart-custom-tooltip-chat .tooltip-value{color:var(--primary);font-weight:600;margin-top:2px}.chart-custom-tooltip-chat .tooltip-pct{color:var(--text-muted);margin-top:1px}.document-status-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;width:100%;box-shadow:var(--shadow-sm)}.document-card-header{font-size:.85rem;font-weight:700;color:var(--text-main);border-bottom:1px dashed var(--border-color);padding-bottom:.5rem;margin-bottom:.5rem}.document-status-list{display:flex;flex-direction:column;gap:.5rem}.document-status-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem .5rem;border-radius:6px;transition:background-color var(--transition-fast)}.document-status-row:hover{background-color:var(--bg-primary)}.doc-label-text{font-size:.8rem;color:var(--text-main);font-weight:500}.doc-status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.doc-status-pill.recebido{background-color:#d1fae5;color:#065f46}.doc-status-pill.recebido .status-dot{background-color:#10b981}.doc-status-pill.pendente{background-color:#fee2e2;color:#b91c1c}.doc-status-pill.pendente .status-dot{background-color:#ef4444}.doc-status-pill.processando{background-color:#dbeafe;color:#1e40af}.doc-status-pill.processando .status-dot{background-color:#3b82f6}.status-dot{width:6px;height:6px;border-radius:50%}.structured-actions-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.structured-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.8rem;font-weight:600;color:var(--primary);background-color:var(--primary-light);border:1px solid rgba(37,99,235,.15);border-radius:20px;cursor:pointer;transition:all var(--transition-fast)}.structured-action-btn:hover{background-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chat-container.new-chat-layout{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;height:100%;min-height:0;padding:2rem;gap:1.25rem;box-sizing:border-box}.chat-container.new-chat-layout .messages-list{flex:0 1 auto;width:100%;max-width:800px;padding:0;overflow-y:visible;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.chat-container.new-chat-layout .message-row.ai{justify-content:center;text-align:center;width:100%}.chat-container.new-chat-layout .message-bubble.ai{max-width:650px;justify-content:center;text-align:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.chat-container.new-chat-layout .message-bubble.ai .message-content,.chat-container.new-chat-layout .message-bubble.ai .message-content *{text-align:center;font-size:1.1rem;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.chat-container.new-chat-layout .input-area{width:100%;max-width:800px;padding:0;border-top:none;background-color:transparent;margin-top:0;flex-shrink:0}.new-chat-logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;width:100%}.new-chat-logo{height:48px;width:auto;object-fit:contain}.chat-container.new-chat-layout .reforma-tributaria-banner{margin-bottom:2.5rem;border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, #e2e8f0);width:100%;max-width:800px;box-sizing:border-box}.voice-message-bubble-wrapper{display:flex;flex-direction:column;gap:.25rem;width:100%}.voice-message-container{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#ffffffd9;border:1px solid rgba(0,0,0,.08);border-radius:12px;min-width:200px;width:fit-content;box-sizing:border-box}.voice-message-play-btn{width:28px;height:28px;border-radius:50%;background-color:var(--primary, #2563eb);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.voice-message-play-btn:hover{transform:scale(1.05);background-color:var(--primary-hover, #1d4ed8)}.voice-message-wave{flex:1;display:flex;align-items:center;min-width:100px}.voice-message-slider{width:100%;accent-color:var(--primary, #2563eb);cursor:pointer;height:4px}.voice-message-time{font-size:.75rem;font-weight:600;color:var(--text-muted, #64748b);min-width:30px;text-align:right;flex-shrink:0}.voice-transcription-text{font-size:.8rem;font-style:italic;color:var(--text-muted, #64748b);margin-top:.25rem;border-left:2px solid var(--border-color, #e2e8f0);padding-left:.5rem}.chat-recording-panel{display:flex;align-items:center;width:100%;background-color:var(--bg-primary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:1.5rem;padding:.5rem 1rem;box-sizing:border-box;animation:recordingPulseBG 2s infinite ease-in-out}.recording-indicator{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.recording-dot{width:8px;height:8px;border-radius:50%;background-color:#ef4444;animation:recordingDotFlash 1s infinite alternate}.recording-timer{font-size:.8rem;font-weight:700;color:#ef4444;font-family:monospace}.recording-wave-animation{display:flex;align-items:center;justify-content:center;gap:2px;flex:1;height:20px}.recording-wave-animation span{width:3px;height:60%;background-color:#ef4444;border-radius:1px;animation:recordingWaveBounce 1.2s infinite ease-in-out}.recording-wave-animation span:nth-child(1){animation-delay:.1s;height:40%}.recording-wave-animation span:nth-child(2){animation-delay:.2s;height:80%}.recording-wave-animation span:nth-child(3){animation-delay:.3s;height:50%}.recording-wave-animation span:nth-child(4){animation-delay:.4s;height:90%}.recording-wave-animation span:nth-child(5){animation-delay:.5s;height:30%}.recording-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all .15s ease;flex-shrink:0}.recording-btn.cancel{color:#64748b;margin-right:.25rem}.recording-btn.cancel:hover{background-color:#fee2e2;color:#ef4444}.recording-btn.send{color:#fff;background-color:var(--primary, #2563eb)}.recording-btn.send:hover{background-color:var(--primary-hover, #1d4ed8);transform:scale(1.05)}.chat-mic-btn{background:transparent;border:none;cursor:pointer;color:var(--text-muted, #64748b);display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:50%;transition:all .15s ease;margin-right:.5rem;flex-shrink:0}.chat-mic-btn:hover{background-color:var(--bg-accent, #f1f5f9);color:var(--primary, #2563eb)}@keyframes recordingDotFlash{0%{opacity:.3}to{opacity:1}}@keyframes recordingWaveBounce{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1.2)}}@keyframes recordingPulseBG{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 2px #ef444414}}.chat-attach-btn{position:absolute;left:.75rem;bottom:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--text-muted, #64748b);border:none;border-radius:50%;cursor:pointer;transition:all var(--transition-fast, .15s);z-index:2}.chat-attach-btn:hover:not(:disabled){background-color:var(--bg-accent, #f1f5f9);color:var(--primary, #2563eb);transform:scale(1.05)}.chat-attach-btn:disabled{color:var(--text-muted, #cbd5e1);cursor:not-allowed}.message-attachments-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;width:100%}.message-attachment-card{display:flex;align-items:center;gap:.65rem;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:.5rem .75rem;cursor:pointer;transition:all var(--transition-fast, .15s);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));max-width:100%;box-sizing:border-box}.message-attachment-card:hover{border-color:var(--primary, #2563eb);background-color:var(--primary-light, #eff6ff);transform:translateY(-1px);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1))}.attachment-icon{color:var(--primary, #2563eb);flex-shrink:0}.attachment-info{display:flex;flex-direction:column;gap:.1rem;overflow:hidden;flex:1}.attachment-name{font-size:.75rem;font-weight:600;color:var(--text-main, #0f172a);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.attachment-size{font-size:.65rem;color:var(--text-muted, #64748b);font-weight:500}.pending-attachment-preview{display:flex;align-items:center;gap:.5rem;background-color:var(--primary-light, #eff6ff);border:1px dashed var(--primary, #2563eb);border-radius:8px;padding:.4rem .6rem;margin-bottom:.5rem;max-width:800px;margin-left:auto;margin-right:auto;box-sizing:border-box;animation:fadeIn .2s ease-in-out}.pending-attachment-preview .preview-icon{color:var(--primary, #2563eb);flex-shrink:0}.pending-attachment-preview .preview-name{font-size:.75rem;font-weight:500;color:var(--primary, #2563eb);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.pending-attachment-preview .preview-remove-btn{background:none;border:none;color:var(--text-muted, #64748b);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast, .15s)}.pending-attachment-preview .preview-remove-btn:hover{background-color:#0000000d;color:var(--danger, #ef4444)}.message-attachment-card.failed{border-color:#ef444459;background-color:#ef444405}.message-attachment-card.failed:hover{border-color:#ef4444;background-color:#ef44440d}.message-attachment-card.failed .attachment-icon{color:#ef4444}.message-bubble.system .message-content{background-color:#ef44440f;border:1px dashed rgba(239,68,68,.2);color:#ef4444;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;font-weight:500;width:100%}.message-row.system{justify-content:center;width:100%;margin:.5rem 0}.chat-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8faffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;animation:chatDragFadeIn .15s ease;pointer-events:none;border:1.5px dashed rgba(37,99,235,.4);border-radius:4px;margin:10px}@keyframes chatDragFadeIn{0%{opacity:0}to{opacity:1}}.chat-drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--primary, #2563eb)}.chat-drag-overlay-content svg{animation:dragIconBounce 1.4s ease-in-out infinite}@keyframes dragIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.chat-drag-overlay-content span{font-size:.9rem;font-weight:600;color:var(--primary, #2563eb);letter-spacing:-.01em}.chat-drag-overlay-content small{font-size:.7rem;font-weight:500;color:var(--text-muted, #94a3b8)}.chat-upload-progress-container{display:flex;flex-direction:column;gap:6px;padding:10px 14px;margin-bottom:8px;background:linear-gradient(135deg,#2563eb12,#2563eb05);border:1px solid rgba(37,99,235,.12);border-radius:8px;font-size:12.5px;color:var(--primary, #2563eb);font-weight:500;transition:all .2s ease}.chat-upload-progress-header{display:flex;align-items:center;justify-content:space-between;width:100%}.chat-upload-progress-info{display:flex;align-items:center;gap:8px}.chat-upload-progress-percentage{font-weight:700;font-family:monospace}.chat-upload-progress-bar-wrapper{width:100%;height:6px;background-color:#2563eb1a;border-radius:3px;overflow:hidden}.chat-upload-progress-bar{height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:3px;transition:width .3s cubic-bezier(.4,0,.2,1)}.chat-upload-progress-bar.processing{animation:progressPulse 1.5s infinite ease-in-out}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.sidebar-mobile-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:fadeIn var(--transition-fast) ease-out}.ai-sidebar{position:fixed;top:0;left:0;bottom:0;height:100%;z-index:1000;transition:transform var(--transition-normal)}.ai-sidebar.open{width:280px;min-width:280px;transform:translate(0);box-shadow:var(--shadow-xl)}.ai-sidebar.closed{width:0!important;min-width:0!important;transform:translate(-100%);border-right:none;overflow:hidden}.ai-main{width:100%;min-width:0}.ai-header{padding:0 1rem}.messages-list{padding:1rem .75rem;gap:1rem}.chat-container.new-chat-layout{justify-content:center;padding:1rem .75rem;gap:1rem;overflow:hidden}.chat-container.new-chat-layout .messages-list{margin-bottom:0;flex:0 1 auto}.chat-container.new-chat-layout .input-area{padding:0;margin-top:0}.chat-input{font-size:.95rem!important;padding:.7rem 3.25rem .7rem 2.85rem!important;line-height:1.45!important}.chat-input::placeholder{font-size:.9rem!important;line-height:1.4!important}.chat-attach-btn,.send-btn{width:36px!important;height:36px!important;bottom:6px!important}.chat-attach-btn{left:.5rem!important}.send-btn{right:.5rem!important}.header-company-selector{max-width:220px}.header-company-name{max-width:140px}.new-chat-logo-container{margin-bottom:1rem}.new-chat-logo{height:42px}.logo-btn img,.logo-container img{height:24px!important;width:auto!important}}@media (max-width: 480px){.chat-container.new-chat-layout{padding:.75rem .5rem}.chat-container.new-chat-layout .messages-list{margin-bottom:.5rem}.chat-container.new-chat-layout .message-bubble.ai .message-content,.chat-container.new-chat-layout .message-bubble.ai .message-content *{font-size:1rem!important;line-height:1.5!important}.header-company-selector{max-width:160px}.header-company-name{max-width:90px}.new-chat-logo-container{margin-bottom:.75rem}.new-chat-logo{height:36px}.logo-btn img,.logo-container img{height:22px!important;width:auto!important}.chat-input{font-size:.925rem!important;padding:.6rem 2.85rem .6rem 2.5rem!important;border-radius:1.15rem!important;line-height:1.4!important}.chat-input::placeholder{font-size:.875rem!important;line-height:1.35!important}.chat-attach-btn,.send-btn{width:34px!important;height:34px!important;bottom:5px!important}.chat-attach-btn{left:.4rem!important}.send-btn{right:.4rem!important}.chat-attach-btn svg,.send-btn svg{width:16px!important;height:16px!important}}@media (max-width: 380px),(max-height: 680px){.chat-container.new-chat-layout{padding:.5rem .25rem}.chat-container.new-chat-layout .message-bubble.ai .message-content,.chat-container.new-chat-layout .message-bubble.ai .message-content *{font-size:.95rem!important;line-height:1.45!important}.new-chat-logo-container{margin-bottom:.5rem}.new-chat-logo{height:30px}.chat-input{font-size:.875rem!important;padding:.55rem 2.6rem .55rem 2.3rem!important}.chat-input::placeholder{font-size:.825rem!important;line-height:1.35!important}.chat-attach-btn,.send-btn{width:30px!important;height:30px!important;bottom:4px!important}.chat-attach-btn{left:.35rem!important}.send-btn{right:.35rem!important}.chat-attach-btn svg,.send-btn svg{width:15px!important;height:15px!important}}.auth-overlay-container{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;background:#0f172a73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);padding:2rem 1rem;overflow-y:auto;box-sizing:border-box;animation:authBackdropFadeIn .35s cubic-bezier(.16,1,.3,1)}@keyframes authBackdropFadeIn{0%{background:#0f172a00;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{background:#0f172a73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.decor-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;z-index:1;pointer-events:none}.orb-primary{width:400px;height:400px;background-color:var(--primary, #2563eb);top:-100px;left:-100px}.orb-purple{width:500px;height:500px;background-color:var(--accent-purple, #7c3aed);bottom:-150px;right:-150px}.auth-card-wrapper{position:relative;z-index:10;width:100%;max-width:440px;max-height:calc(100vh - 4rem);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, rgba(15, 23, 42, .08));border-radius:24px;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(15, 23, 42, .05));padding:2rem 2.25rem;overflow-y:auto;box-sizing:border-box;animation:authFadeIn .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.auth-card-wrapper::-webkit-scrollbar{width:5px}.auth-card-wrapper::-webkit-scrollbar-track{background:transparent}.auth-card-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.auth-card-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.auth-header-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(15,23,42,.05)}.auth-header-brand .logo-icon{background:linear-gradient(135deg,var(--primary, #2563eb),var(--accent-purple, #7c3aed));color:#fff;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem;font-family:var(--font-heading, "Outfit", sans-serif);box-shadow:0 8px 20px #2563eb33}.brand-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:1.25rem;font-weight:800;color:var(--text-main, #0f172a)!important;letter-spacing:-.02em;line-height:1.1}.brand-subtitle{font-size:.8rem;color:var(--text-muted, #64748b);font-weight:600;margin-top:.15rem}.auth-card-body{width:100%}.form-intro{margin-bottom:1.75rem}.form-intro h2{font-family:var(--font-heading, "Outfit", sans-serif);font-size:1.35rem;font-weight:700;color:var(--text-main, #0f172a)!important}.form-intro p{font-size:.875rem;color:var(--text-muted, #64748b);margin-top:.35rem;font-weight:500}.auth-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.auth-form-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-form-label{font-size:.8rem;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.05em}.label-flex-row{display:flex;justify-content:space-between;align-items:center}.auth-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.input-icon-left{position:absolute;left:1rem;color:var(--text-muted, #64748b);pointer-events:none;transition:color .2s ease}.auth-form-input{width:100%;padding:.85rem 1rem .85rem 2.75rem;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);font-size:.95rem;font-weight:500;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, 12px);color:var(--text-main, #0f172a);transition:all .2s ease;box-sizing:border-box}.auth-form-input::placeholder{color:var(--text-light, #94a3b8)}.auth-form-input:focus{outline:none;background:var(--bg-primary, #ffffff);border-color:var(--border-focus, #3b82f6);box-shadow:0 0 0 4px #2563eb1f}.auth-form-input:focus+.input-icon-left{color:var(--primary, #2563eb)}.auth-text-link{font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);background:none;border:none;color:var(--text-muted, #64748b);font-size:.77rem;font-weight:700;cursor:pointer;padding:0;transition:color .15s ease}.auth-text-link:hover{color:var(--text-main, #0f172a)}.auth-text-link.highlighted{color:var(--primary, #2563eb);text-decoration:underline;text-underline-offset:3px}.auth-text-link.highlighted:hover{color:var(--primary-hover, #1d4ed8)}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);font-size:.95rem;font-weight:700;padding:.9rem 1.5rem;border-radius:var(--radius-md, 12px);border:1px solid transparent;cursor:pointer;transition:all .2s ease;box-sizing:border-box;width:100%}.auth-btn-primary{background:linear-gradient(135deg,var(--primary, #2563eb),var(--accent-purple, #7c3aed));color:#fff;box-shadow:0 4px 12px #2563eb33}.auth-btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 18px #2563eb4d;filter:brightness(1.05)}.auth-btn-primary:active{transform:translateY(0)}.auth-btn-outline{background:#fff;border:1px solid var(--border-color, #e2e8f0);color:var(--text-main, #0f172a)}.auth-btn-outline:hover{background:var(--bg-accent, #f1f5f9);color:var(--text-main, #0f172a);border-color:var(--text-light, #94a3b8)}.auth-footer-text{font-size:.85rem;color:var(--text-muted, #64748b);text-align:center;margin-top:.75rem;line-height:1.4;font-weight:500}.auth-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md, 12px);font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:1.25rem;animation:authAlertSlide .2s ease-out}.alert-danger{background:#fef2f2;border:1px solid #fee2e2;color:#b91c1c}.alert-success{background:#ecfdf5;border:1px solid #d1fae5;color:#047857}.alert-icon{flex-shrink:0;margin-top:.1rem}.auth-security-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.72rem;color:var(--text-light, #94a3b8);margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(15,23,42,.05);font-weight:600}.auth-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@keyframes authFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes authAlertSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.auth-card-wrapper{padding:1.75rem;border-radius:var(--radius-lg, 16px)}.brand-title{font-size:1.35rem}.auth-header-brand{margin-bottom:1.5rem}.auth-header-brand img{height:28px!important}}:root{--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-accent: #f1f5f9;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--secondary: #10b981;--secondary-hover: #059669;--secondary-light: #ecfdf5;--accent-purple: #7c3aed;--accent-amber: #d97706;--accent-rose: #e11d48;--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--text-white: #ffffff;--border-color: #e2e8f0;--border-focus: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 8px 10px -6px rgba(0, 0, 0, .05);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-accent: #334155;--primary: #3b82f6;--primary-hover: #60a5fa;--primary-light: rgba(59, 130, 246, .2);--secondary: #10b981;--secondary-hover: #34d399;--secondary-light: rgba(16, 185, 129, .2);--accent-purple: #a78bfa;--accent-amber: #fbbf24;--accent-rose: #f43f5e;--text-main: #f8fafc;--text-muted: #94a3b8;--text-light: #cbd5e1;--text-white: #ffffff;--border-color: #334155;--border-focus: #60a5fa;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--text-main);letter-spacing:-.02em}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 2rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:.75rem}.logo-icon{background:linear-gradient(135deg,var(--primary),var(--accent-purple));color:var(--text-white);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;box-shadow:0 4px 10px #2563eb33}.logo-text{font-size:1.25rem;font-weight:800;background:linear-gradient(to right,var(--text-main),#1e293b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-badge{background-color:var(--primary-light);color:var(--primary);font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;border:1px solid rgba(37,99,235,.1)}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.dashboard-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:2rem}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:1.75rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal);position:relative;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px dashed var(--border-color);padding-bottom:1rem}.card-title{font-size:1.2rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:.5rem}.upload-zone{border:2px dashed #cbd5e1;border-radius:var(--radius-md);padding:1.5rem;text-align:center;background-color:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--primary);background-color:var(--primary-light)}.upload-icon{color:var(--text-muted);transition:color var(--transition-fast)}.upload-zone:hover .upload-icon{color:var(--primary)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:1rem;font-weight:600;color:var(--text-muted);pointer-events:none}.input-suffix{position:absolute;right:1rem;font-weight:600;color:var(--text-muted);pointer-events:none}.form-input{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:1rem;font-weight:500;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-main);transition:all var(--transition-fast)}.form-input-prefix{padding-left:2.5rem}.form-input-suffix{padding-right:2.5rem}.form-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 4px #3b82f626}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background-color:var(--primary);color:var(--text-white);box-shadow:0 4px 6px -1px #2563eb33}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-accent);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-success{background-color:var(--secondary);color:var(--text-white)}.btn-success:hover{background-color:var(--secondary-hover)}.btn-outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted)}.btn-outline:hover{background-color:var(--bg-accent);color:var(--text-main)}.projection-table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:1rem}.projection-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;white-space:nowrap}.projection-table th{background-color:var(--bg-accent);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.projection-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);font-size:.9rem;font-weight:500;background-color:var(--bg-secondary)}.projection-table th:first-child,.projection-table td:first-child{position:sticky;left:0;z-index:5;background-color:var(--bg-secondary);border-right:2px solid var(--border-color);box-shadow:2px 0 5px -2px #00000014}.projection-table th:first-child{z-index:20;background-color:var(--bg-accent)}.table-scenario-header td:first-child{background-color:var(--bg-accent)!important}tr[style*="var(--primary-light)"] td:first-child{background-color:var(--primary-light)!important}tr[style*="var(--bg-accent)"] td:first-child{background-color:var(--bg-accent)!important}.projection-table td:has(.extinct-cell-container){background-color:#fff1f2!important;padding:0!important}.projection-table td:has(.not-incident-cell-container){background-color:var(--bg-secondary)!important;padding:0!important}.extinct-cell-container{display:flex;align-items:center;justify-content:flex-end;background-color:#fff1f2;padding:1rem 1.25rem;min-height:104px;box-sizing:border-box;width:100%}.extinguished-tax{color:var(--accent-rose);font-style:italic;font-size:.8rem;font-weight:600;background-color:#fff1f2;border:1px solid rgba(225,29,72,.08);padding:.35rem .65rem;border-radius:var(--radius-sm);display:inline-block}.not-incident-cell-container{display:flex;align-items:center;justify-content:flex-end;background-color:var(--bg-secondary);padding:1rem 1.25rem;min-height:104px;box-sizing:border-box;width:100%}.not-incident-tax{color:var(--text-muted);font-style:italic;font-size:.8rem;font-weight:600;background-color:var(--bg-accent);border:1px solid var(--border-color);padding:.35rem .65rem;border-radius:var(--radius-sm);display:inline-block}.projection-table td:has(.transition-cell-container){background-color:#fefce8!important;padding:0!important}.transition-cell-container{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;padding:calc(1rem + 4px) 1.25rem;min-height:104px;box-sizing:border-box;width:100%;background-color:#fefce8}.projection-table td:has(.cbs-2026-cell-container){background-color:#f0fdf4!important;padding:0!important}.cbs-2026-cell-container{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;padding:calc(1rem + 4px) 1.25rem;min-height:104px;box-sizing:border-box;width:100%;background-color:#f0fdf4}.projection-table td:has(.cbs-other-cell-container){background-color:#eff6ff!important;padding:0!important}.cbs-other-cell-container{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;padding:calc(1rem + 4px) 1.25rem;min-height:104px;box-sizing:border-box;width:100%;background-color:#eff6ff}.transition-year-col{border-left:2px solid var(--border-color)}.table-scenario-header{font-weight:700;background-color:var(--primary-light);color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn var(--transition-fast) ease-out}.modal-content{background-color:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-normal) cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-secondary)}.modal-title{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.modal-body{padding:2rem;overflow-y:auto;flex:1}.modal-footer{padding:1.25rem 2rem;border-top:1px solid var(--border-color);background-color:var(--bg-accent);display:flex;justify-content:flex-end;gap:1rem}.aliquot-grid-container{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto}.aliquot-table{width:100%;border-collapse:collapse;white-space:nowrap}.aliquot-table th{background-color:var(--bg-primary);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;padding:.75rem;border-bottom:1px solid var(--border-color);text-align:center}.aliquot-table td{padding:.5rem;border-bottom:1px solid var(--border-color);text-align:center}.aliquot-input{width:70px;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:right;font-family:var(--font-body);font-size:.875rem;font-weight:600}.aliquot-input:focus{outline:none;border-color:var(--border-focus)}.aliquot-input:disabled{background-color:var(--bg-accent);color:var(--text-light);cursor:not-allowed;border-style:dashed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tab-container{display:flex;gap:.5rem;background-color:var(--bg-accent);padding:.375rem;border-radius:var(--radius-md);align-self:flex-start;margin-bottom:1rem}.tab-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-muted);border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast)}.tab-btn.active{background-color:var(--bg-secondary);color:var(--primary);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.badge-info{background-color:var(--primary-light);color:var(--primary)}.badge-success{background-color:var(--secondary-light);color:var(--secondary)}.badge-rose{background-color:#ffe4e6;color:var(--accent-rose)}.tax-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.tax-summary-mini{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:var(--radius-md);background-color:var(--bg-primary);border:1px solid var(--border-color)}.tax-summary-mini-value{font-size:1.25rem;font-weight:800;color:var(--primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tax-cell-detail{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;padding:4px 0}.tax-cell-title{font-size:.95rem;font-weight:800;color:var(--text-main);margin-bottom:2px}.tax-cell-badge{display:inline-flex;justify-content:space-between;align-items:center;width:100%;gap:.75rem;font-size:.72rem;font-weight:600;padding:2px 6px;border-radius:4px;min-width:140px;font-family:var(--font-body)}.tax-cell-badge.debit{background-color:#fff1f2;color:var(--accent-rose);border:1px solid rgba(225,29,72,.08)}.tax-cell-badge.credit{background-color:#ecfdf5;color:var(--secondary);border:1px solid rgba(16,185,129,.08)}.tax-cell-badge.rate{background-color:#f1f5f9;color:var(--text-muted);border:1px solid rgba(100,116,139,.08)}.table-legend-container{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;padding:1rem 1.25rem;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);font-size:.75rem;font-weight:500}.table-legend-item{display:flex;align-items:center;gap:.5rem}.table-legend-color{display:inline-block;width:16px;height:16px;border-radius:4px;flex-shrink:0}.table-legend-color.green{background-color:#f0fdf4;border:1px solid rgba(16,185,129,.2)}.table-legend-color.yellow{background-color:#fefce8;border:1px solid rgba(217,119,6,.15)}.table-legend-color.blue{background-color:#eff6ff;border:1px solid rgba(37,99,235,.15)}.table-legend-color.red{background-color:#fff1f2;border:1px solid rgba(225,29,72,.15)}.table-legend-text{color:var(--text-muted);line-height:1.4}.table-legend-text strong{color:var(--text-main)}.premium-tax-tooltip-container{position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;cursor:help;width:100%}.premium-tax-tooltip{position:absolute;top:100%;left:50%;background-color:var(--bg-secondary, #ffffff)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #00000014!important;padding:1rem 1.25rem!important;z-index:9999999!important;width:max-content!important;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-10px);transition:all .2s cubic-bezier(.4,0,.2,1)}.premium-tax-tooltip-container:hover .premium-tax-tooltip{opacity:1!important;visibility:visible!important;transform:translate(-50%,8px)!important}.premium-tax-tooltip-header{font-size:.75rem!important;font-weight:700!important;color:var(--text-main)!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-bottom:1px dashed var(--border-color)!important;padding-bottom:.5rem!important;margin-bottom:.5rem!important;text-align:left!important}.projection-table .premium-tax-tooltip-table,.projection-table .premium-tax-tooltip-table thead,.projection-table .premium-tax-tooltip-table tbody,.projection-table .premium-tax-tooltip-table tr,.projection-table .premium-tax-tooltip-table th,.projection-table .premium-tax-tooltip-table td{background:transparent!important;background-color:transparent!important;position:static!important;left:auto!important;border:none!important;box-shadow:none!important;z-index:auto!important;padding:0!important;margin:0!important;width:auto!important;min-width:auto!important}.projection-table .premium-tax-tooltip-table th:first-child,.projection-table .premium-tax-tooltip-table td:first-child{position:static!important;left:auto!important;background:transparent!important;background-color:transparent!important;border-right:none!important;box-shadow:none!important;z-index:auto!important}.premium-tax-tooltip-table{width:100%!important;border-collapse:collapse!important}.projection-table .premium-tax-tooltip-table th{font-size:.68rem!important;font-weight:600!important;color:var(--text-muted)!important;text-transform:uppercase!important;padding:8px 16px!important;text-align:right!important;border-bottom:1px solid var(--border-color)!important;white-space:nowrap!important}.projection-table .premium-tax-tooltip-table td{font-size:.72rem!important;font-weight:500!important;padding:8px 16px!important;text-align:right!important;border-bottom:1px solid #f1f5f9!important;color:var(--text-main)!important;white-space:nowrap!important}.projection-table .premium-tax-tooltip-table th:first-child,.projection-table .premium-tax-tooltip-table td:first-child{text-align:left!important;padding-left:0!important;padding-right:16px!important}.projection-table .premium-tax-tooltip-table th:last-child,.projection-table .premium-tax-tooltip-table td:last-child{text-align:right!important;padding-left:16px!important;padding-right:0!important}.projection-table .premium-tax-tooltip-table tr.current-row td{background-color:var(--primary-light)!important;color:var(--primary)!important;font-weight:700!important}.premium-tax-tooltip-table td.debit-text{color:#dc2626!important}.premium-tax-tooltip-table td.credit-text{color:#166534!important}.premium-tax-tooltip-table td.total-text{color:var(--text-main)!important;font-weight:700!important}.docs-modal-content{height:90vh!important;max-height:90vh!important;max-width:1200px!important;width:95%!important}.docs-modal-body-layout{display:flex;flex-direction:row;gap:2rem;height:100%;min-height:0;width:100%;align-items:stretch}.docs-modal-left-panel{width:350px;flex-shrink:0;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:4px}.docs-modal-right-panel{flex:1;display:flex;flex-direction:column;gap:1.25rem;min-width:0;height:100%}.docs-filters-container{display:flex;flex-direction:column;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;gap:.75rem;box-shadow:var(--shadow-sm)}.docs-filter-tags{display:flex;flex-wrap:wrap;gap:.5rem}.docs-tag-btn{font-family:var(--font-body);font-size:.8rem;font-weight:600;padding:.45rem .9rem;border-radius:9999px;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast) ease;display:inline-flex;align-items:center}.docs-tag-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light);transform:translateY(-1px)}.docs-tag-btn.active{background-color:var(--primary);color:var(--text-white);border-color:var(--primary);box-shadow:0 4px 6px -1px #2563eb40}.docs-list-scroll-container{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:4px;flex:1}@media (max-width: 768px){.docs-modal-content{height:auto!important;max-height:90vh!important}.docs-modal-body-layout{flex-direction:column;gap:1.5rem;height:auto}.docs-modal-left-panel{width:100%;overflow-y:visible}.docs-modal-right-panel{width:100%}.docs-list-scroll-container{max-height:320px}.logo-container img{height:24px!important;width:auto!important}.logo-icon{width:32px!important;height:32px!important}}.chat-table-wrapper{width:100%;overflow-x:auto;margin:.75rem 0;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-secondary, #ffffff);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.chat-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem;line-height:1.4}.chat-table th{padding:.625rem .85rem;background-color:var(--bg-accent, #f1f5f9);color:var(--text-main, #0f172a);font-weight:700;border-bottom:2px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.chat-table th:last-child{border-right:none}.chat-table td{padding:.625rem .85rem;color:var(--text-main, #334155);border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.chat-table td:last-child{border-right:none}.chat-table tr:last-child td{border-bottom:none}.chat-table tr:nth-child(2n){background-color:var(--bg-primary, #f8fafc)}.chat-table tr:hover{background-color:#2563eb0a;transition:background-color var(--transition-fast, .15s) ease}.executive-cards-row{display:flex;flex-direction:row;gap:.5rem;overflow-x:auto;padding:.25rem .25rem .5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;width:100%}.executive-card{flex:1 0 140px;min-width:140px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);text-align:center}.executive-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.comparative-summary-card{background:linear-gradient(135deg,#f8fafc,#eff6ff);border-color:#2563eb26;flex:1 0 170px;min-width:170px;justify-content:space-between}.comparative-summary-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.card-year{font-family:var(--font-heading);font-size:.8rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.card-value{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--text-main);white-space:nowrap}.classification-badge{font-size:.725rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.02em}.comparative-title{font-family:var(--font-heading);font-size:.8rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.comparative-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:6px;margin-top:.25rem}.executive-tooltip-container{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:help}.executive-tooltip-content{position:absolute;bottom:125%;left:50%;transform:translate(-50%) translateY(4px);background-color:#0f172a;color:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;width:300px;font-size:.75rem;font-weight:400;line-height:1.4;z-index:10000;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:none;text-align:left;font-style:normal}.executive-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#0f172a transparent transparent transparent}.executive-tooltip-container:hover .executive-tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.bottom-composer-container{display:flex;flex-direction:column;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 4px 20px #00000008;padding:.75rem;margin-top:.5rem;margin-bottom:1rem;width:100%;position:relative;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.bottom-composer-container:focus-within{border-color:var(--primary);box-shadow:var(--shadow-lg),0 0 0 3px #2563eb1a}.bottom-composer-form{display:flex;flex-direction:column;width:100%}.bottom-composer-input-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%}.bottom-composer-textarea{width:100%;min-height:40px;padding:.25rem;font-family:var(--font-body);font-size:.9rem;line-height:1.4;color:var(--text-main);border:none;background:transparent;resize:none;outline:none}.bottom-composer-textarea::placeholder{color:var(--text-light)}.bottom-composer-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);padding-top:.5rem;margin-top:.25rem}.bottom-composer-left-actions{display:flex;gap:.5rem}.composer-action-btn{background:transparent;border:none;color:var(--text-muted);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.composer-action-btn:hover{background-color:var(--bg-accent);color:var(--primary)}.composer-send-btn{background-color:var(--bg-accent);color:var(--text-light);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.composer-send-btn.highlighted{background-color:var(--primary);color:var(--text-white);box-shadow:0 2px 6px #2563eb40}.composer-send-btn.highlighted:hover{background-color:var(--primary-hover);transform:scale(1.05)}.composer-send-btn:disabled{background-color:var(--bg-accent);color:var(--text-light);box-shadow:none;cursor:not-allowed;transform:none}.composer-attachment-preview{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--primary-light);border:1px solid rgba(37,99,235,.15);border-radius:9999px;padding:.35rem .75rem;margin-bottom:.75rem;font-size:.8rem;font-weight:600;color:var(--primary);align-self:flex-start;max-width:100%}.composer-attachment-preview .preview-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.composer-attachment-preview .preview-remove-btn{background:transparent;border:none;color:var(--primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:2px;border-radius:50%;transition:background-color var(--transition-fast)}.composer-attachment-preview .preview-remove-btn:hover{background-color:#2563eb1a}.composer-transcribing-indicator{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--primary);font-weight:600;margin-bottom:.75rem;animation:pulse 1.5s infinite}.composer-recording-panel{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem;width:100%;min-height:72px}.composer-recording-panel .recording-indicator{display:flex;align-items:center;gap:.5rem}.composer-recording-panel .recording-dot{width:10px;height:10px;background-color:var(--accent-rose);border-radius:50%;display:inline-block;animation:pulse 1s infinite}.composer-recording-panel .recording-timer{font-family:monospace;font-size:1rem;font-weight:700;color:var(--text-main)}.composer-recording-panel .recording-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all var(--transition-fast)}.composer-recording-panel .recording-btn.cancel{background-color:#fee2e2;color:var(--accent-rose)}.composer-recording-panel .recording-btn.cancel:hover{background-color:#fecaca}.composer-recording-panel .recording-btn.send{background-color:var(--primary-light);color:var(--primary)}.composer-recording-panel .recording-btn.send:hover{background-color:#dbeafe}.composer-recording-panel .recording-wave-animation{display:flex;align-items:center;gap:3px;height:24px}.composer-recording-panel .recording-wave-animation span{display:inline-block;width:3px;height:100%;background-color:var(--primary);border-radius:3px;animation:wave 1.2s ease-in-out infinite}.composer-recording-panel .recording-wave-animation span:nth-child(1){animation-delay:.1s;height:30%}.composer-recording-panel .recording-wave-animation span:nth-child(2){animation-delay:.3s;height:60%}.composer-recording-panel .recording-wave-animation span:nth-child(3){animation-delay:.5s;height:90%}.composer-recording-panel .recording-wave-animation span:nth-child(4){animation-delay:.2s;height:50%}.composer-recording-panel .recording-wave-animation span:nth-child(5){animation-delay:.4s;height:30%}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(2)}}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-primary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:8px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background-color:var(--bg-secondary);color:var(--text-main);border-color:var(--border-color)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted)}[data-theme=dark] .projection-table,[data-theme=dark] .aliquot-table{background-color:var(--bg-secondary);color:var(--text-main)}[data-theme=dark] .projection-table th,[data-theme=dark] .aliquot-table th{background-color:var(--bg-accent)!important;color:var(--text-main)!important;border-color:var(--border-color)!important}[data-theme=dark] .projection-table td,[data-theme=dark] .aliquot-table td{border-color:var(--border-color)!important;color:var(--text-main)!important}[data-theme=dark] .projection-table tr:hover td{background-color:var(--bg-accent)!important}[data-theme=dark] .modal-content,[data-theme=dark] .auth-card-wrapper{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-main)!important}[data-theme=dark] .auth-form-input{background:var(--bg-primary)!important;color:var(--text-main)!important;border-color:var(--border-color)!important}[data-theme=dark] .auth-form-input:focus{background:var(--bg-primary)!important;border-color:var(--border-focus)!important}.mobile-header{display:none}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0}}
