@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#2563eb;--primary-dark:#1d4ed8;--primary-light:#93c5fd;--secondary-color:#64748b;--accent-color:#10b981;--success-color:#059669;--warning-color:#d97706;--error-color:#dc2626;--info-color:#0284c7;--background-main:#fff;--background-gradient:linear-gradient(135deg,#fff,#f8fafc);--card-background:#fff;--card-hover:#f8fafc;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e0;--border-strong:#94a3b8;--border-radius:12px;--border-radius-small:6px;--box-shadow-soft:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--box-shadow-medium:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--box-shadow-hover:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--transition:all 0.2s ease-in-out;--transition-fast:all 0.15s ease-out}[data-theme=dark]{--primary-color:#60a5fa;--primary-dark:#3b82f6;--primary-light:#1e40af;--secondary-color:#94a3b8;--accent-color:#34d399;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#06b6d4;--background-main:#0f172a;--background-gradient:linear-gradient(135deg,#0f172a,#1e293b);--card-background:#1e293b;--card-hover:#334155;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--text-inverse:#0f172a;--border-light:#334155;--border-medium:#475569;--border-strong:#64748b;--box-shadow-soft:0 1px 3px 0 #0006,0 1px 2px 0 #0000004d;--box-shadow-medium:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--box-shadow-hover:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff,#f8fafc);background:var(--background-gradient);color:#0f172a;color:var(--text-primary);font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;letter-spacing:-.01em;line-height:1.6;transition:all .2s ease-in-out;transition:var(--transition)}.App,body{min-height:100vh}.App{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1400px;padding:24px 20px}.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:24px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--box-shadow-soft);margin-bottom:3rem;max-width:1200px;overflow:hidden;padding:3rem 2rem;position:relative;text-align:center;width:100%}.app-header:before{background:linear-gradient(90deg,#2563eb,#10b981 50%,#2563eb);background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-color) 50%,var(--primary-color) 100%);border-radius:24px 24px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1d4ed8,#2563eb);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-color) 100%);-webkit-background-clip:text;background-clip:text;color:#0f172a;color:var(--text-primary);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.app-subtitle{color:#334155;color:var(--text-secondary);font-size:1.125rem;font-weight:400;line-height:1.6;margin:0 auto;max-width:600px}.header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.title-section{flex:1 1;text-align:center}.theme-toggle-btn{align-items:center;background:#fff;background:var(--card-background);border:2px solid #cbd5e0;border:2px solid var(--border-medium);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--box-shadow-soft);color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease-in-out;transition:var(--transition)}.theme-toggle-btn:hover{background:#f8fafc;background:var(--card-hover);border-color:#2563eb;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow-medium);transform:translateY(-1px)}.theme-toggle-btn:active{transform:translateY(0)}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.theme-toggle-btn{align-self:flex-end}}.main-container{display:flex;flex-direction:column;gap:2rem;max-width:1200px;width:100%}.card{background:#fff;background:var(--card-background);border:2px solid #cbd5e0;border:2px solid var(--border-medium);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow-medium);margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative;transition:all .2s ease-in-out;transition:var(--transition)}.card:hover{background:#f8fafc;background:var(--card-hover);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--box-shadow-hover);transform:translateY(-2px)}.card:before{background:linear-gradient(90deg,#93c5fd,#2563eb 50%,#93c5fd);background:linear-gradient(90deg,var(--primary-light) 0,var(--primary-color) 50%,var(--primary-light) 100%);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s ease-in-out;transition:var(--transition)}.card:hover:before{opacity:1}.card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-4px)}.upload-section{gap:1.5rem}.file-drop-zone,.upload-section{align-items:center;display:flex;flex-direction:column}.file-drop-zone{background:linear-gradient(135deg,#93c5fd,#fffc);background:linear-gradient(135deg,var(--primary-light) 0,#fffc 100%);border:2px dashed var(--border-soft);border-radius:12px;border-radius:var(--border-radius);box-shadow:inset 0 2px 10px #a8c8e11a;cursor:pointer;justify-content:center;min-height:220px;overflow:hidden;padding:3.5rem 2rem;position:relative;text-align:center;transition:all .2s ease-in-out;transition:var(--transition);width:100%}.file-drop-zone:hover{background:linear-gradient(135deg,#93c5fd,#ffffffe6);background:linear-gradient(135deg,var(--primary-light) 0,#ffffffe6 100%);border-color:#2563eb;border-color:var(--primary-color);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f,inset 0 2px 15px #a8c8e126;box-shadow:var(--box-shadow-soft),inset 0 2px 15px #a8c8e126;transform:translateY(-2px)}.file-drop-zone.drag-over{background:linear-gradient(135deg,#10b981,#ffffffe6);background:linear-gradient(135deg,var(--accent-color) 0,#ffffffe6 100%);border-color:#059669;border-color:var(--success-color);border-style:solid}.upload-icon{color:#2563eb;color:var(--primary-color);font-size:3.5rem;margin-bottom:1.5rem;opacity:.8;transition:all .2s ease-in-out;transition:var(--transition)}.file-drop-zone:hover .upload-icon{color:#1d4ed8;color:var(--primary-dark);opacity:1;transform:scale(1.05)}.upload-text{color:#0f172a;color:var(--text-primary);font-size:1.25rem;font-weight:500;letter-spacing:.01em;margin-bottom:.75rem}.upload-subtext{color:#334155;color:var(--text-secondary);font-size:.95rem;line-height:1.6;max-width:400px}.file-input{display:none}.selected-file{align-items:center;background:#fff;background:var(--card-background);border:2px solid #059669;border:2px solid var(--success-color);border-radius:12px;border-radius:var(--border-radius);display:flex;gap:1rem;margin:1rem 0;padding:1rem;width:100%}.file-info{flex:1 1}.file-size{color:#334155;color:var(--text-secondary);font-size:.9rem}.btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--box-shadow-soft);color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.75rem;letter-spacing:.01em;min-height:48px;padding:14px 28px;text-decoration:none;transition:all .2s ease-in-out;transition:var(--transition)}.btn:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);background:linear-gradient(135deg,var(--primary-dark),var(--primary-color));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow-medium);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:#2563eb;background:var(--primary-color);border:2px solid #2563eb;border:2px solid var(--primary-color);color:#fff;color:var(--text-inverse)}.btn-primary:hover{background:#1d4ed8;background:var(--primary-dark);border-color:#1d4ed8;border-color:var(--primary-dark)}.btn-secondary{background:#fff;background:var(--card-background);border:2px solid #cbd5e0;border:2px solid var(--border-medium);color:#0f172a;color:var(--text-primary)}.btn-secondary:hover{background:#f8fafc;background:var(--card-hover);border-color:#2563eb;border-color:var(--primary-color)}.btn-success{background:#059669;background:var(--success-color);border:2px solid #059669;border:2px solid var(--success-color);color:#fff;color:var(--text-inverse)}.btn-success:hover{background:linear-gradient(135deg,#8cc88c,#059669);background:linear-gradient(135deg,#8cc88c,var(--success-color))}.btn-outline{border:2px solid #93c5fd;border:2px solid var(--primary-light)}.btn-outline:hover{background:#93c5fd;background:var(--primary-light);border-color:#2563eb;border-color:var(--primary-color);color:#1d4ed8;color:var(--primary-dark)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}h1,h2,h3,h4,h5,h6{color:#0f172a;color:var(--text-primary);font-weight:600;line-height:1.4;margin-bottom:1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.result-title{align-items:center;display:flex;font-size:1.375rem;gap:.75rem;margin-bottom:1.5rem}.result-title:before{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:2px;content:"";height:24px;width:4px}.status-message{border-left:4px solid;border-radius:6px;border-radius:var(--border-radius-small);padding:1rem 1.5rem}.status-success{background:linear-gradient(135deg,#10b981,#a8d8a84d);background:linear-gradient(135deg,var(--accent-color),#a8d8a84d);border-left-color:#059669;border-left-color:var(--success-color)}.status-error,.status-success{color:#0f172a;color:var(--text-primary)}.status-error{background:linear-gradient(135deg,#fff0f0,#f1948a33);border-left-color:#dc2626;border-left-color:var(--error-color)}.status-warning{background:linear-gradient(135deg,#fffcf0,#f4d03f33);border-left-color:#d97706;border-left-color:var(--warning-color);color:#0f172a;color:var(--text-primary)}.enhanced-progress-container{background:#fffffff2;border:1px solid #4a90e233;border-radius:12px;border-radius:var(--border-radius);margin:2rem 0;padding:1.5rem;width:100%}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-title{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:600}.progress-percentage{color:#2563eb;color:var(--primary-color);font-size:1.5rem;font-weight:700}.progress-container{margin:2rem 0;width:100%}.progress-bar{background:#4a90e21a;height:12px;margin-bottom:1rem;width:100%}.progress-bar,.progress-fill{border-radius:6px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#2563eb,#1d4ed8);background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));height:100%;transition:width .5s ease}.progress-shine{animation:shine 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shine{0%{left:-100%}to{left:100%}}.current-step{align-items:center;background:#4a90e20d;border-left:4px solid #2563eb;border-left:4px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.step-icon{flex-shrink:0}.step-text{flex:1 1}.step-name{color:#0f172a;color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.step-description{color:#334155;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.processing-tips{animation:tipSlide .5s ease-in-out;background:linear-gradient(135deg,#4a90e21a,#8a2be21a);border-left:4px solid #2563eb;border-left:4px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);margin:1.5rem 0;padding:1rem}@keyframes tipSlide{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.tip-content{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.5rem}.tip-indicator{color:#334155;color:var(--text-secondary);font-size:.8rem;font-style:italic;text-align:right}.time-estimate{align-items:center;background:#ffc1071a;border-left:4px solid #ffc107;border-radius:12px;border-radius:var(--border-radius);display:flex;justify-content:space-between;margin:1rem 0;padding:.75rem 1rem}.estimate-label{color:#334155;color:var(--text-secondary);font-size:.9rem;font-weight:500}.estimate-value{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:600}.progress-steps{background:#f8f9facc;border-radius:12px;border-radius:var(--border-radius);display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.progress-step{align-items:center;background:#fffc;border:1px solid #4a90e21a;border-radius:20px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;transition:all .3s ease}.progress-step.completed{background:#28a7451a;border-color:#059669;border-color:var(--success-color);color:#059669;color:var(--success-color)}.progress-step.active{background:#4a90e21a;border-color:#2563eb;border-color:var(--primary-color);color:#2563eb;color:var(--primary-color);transform:scale(1.05)}.step-marker{font-size:.8rem;font-weight:700}.step-label{font-weight:500}.details-toggle{margin-bottom:1rem;text-align:center}.details-btn{background:none;border:none;border-radius:12px;border-radius:var(--border-radius);color:#2563eb;color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.details-btn:hover{background:#4a90e21a}.progress-details-window{animation:slideDown .3s ease;background:#fffffffa;border:1px solid #4a90e233;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 20px #0000001a;margin-top:1rem;padding:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-header{align-items:center;background:#2563eb;background:var(--primary-color);border-radius:12px 12px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.details-header h4{font-size:1.1rem;margin:0}.btn-icon{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;height:30px;transition:background .3s ease;width:30px}.btn-icon:hover{background:#ffffff4d}.details-content{padding:1.5rem}.current-operation{background:#4a90e20d;border-left:4px solid #2563eb;border-left:4px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);margin-bottom:2rem;padding:1rem}.operation-title{color:#2563eb;color:var(--primary-color);font-weight:600;margin-bottom:.5rem}.operation-text{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.operation-description{color:#334155;color:var(--text-secondary);line-height:1.4}.processing-timeline{margin-bottom:2rem}.timeline-title{color:#0f172a;color:var(--text-primary);font-weight:600;margin-bottom:1rem}.timeline-item{border-bottom:1px solid #0000001a;display:flex;gap:1rem;padding:.75rem 0;transition:all .3s ease}.timeline-item:last-child{border-bottom:none}.timeline-item.completed{opacity:.7}.timeline-item.completed .timeline-marker{color:#059669;color:var(--success-color)}.timeline-item.active{background:#4a90e20d;border-radius:12px;border-radius:var(--border-radius);margin:.25rem 0;padding:.75rem}.timeline-item.active .timeline-marker{animation:pulse 1.5s infinite;color:#2563eb;color:var(--primary-color)}.timeline-marker{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:24px;justify-content:center;width:24px}.timeline-content{flex:1 1}.timeline-step{color:#0f172a;color:var(--text-primary);font-weight:500;margin-bottom:.25rem}.timeline-description{color:#334155;color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:.25rem}.timeline-progress{color:#2563eb;color:var(--primary-color);font-size:.8rem;font-weight:500}.processing-stats{grid-gap:1rem;background:#f8f9facc;border-radius:12px;border-radius:var(--border-radius);display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.stat{text-align:center}.stat-label{color:#334155;color:var(--text-secondary);font-size:.8rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-value{color:#0f172a;color:var(--text-primary);font-size:1rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #4a90e233;border-radius:50%;border-top-color:#2563eb;border-top:3px solid var(--primary-color);height:24px;margin:0 auto;width:24px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.processing-text{color:#334155;color:var(--text-secondary);font-style:italic;margin-top:1rem;text-align:center}.status-message{align-items:center;border-radius:12px;border-radius:var(--border-radius);display:flex;font-weight:500;gap:.5rem;margin:1rem 0;padding:1rem}.status-success{background:linear-gradient(135deg,#28a7451a,#28a7450d);border:1px solid #059669;border:1px solid var(--success-color);color:#059669;color:var(--success-color)}.status-error{background:linear-gradient(135deg,#dc35451a,#dc35450d);border:1px solid #dc2626;border:1px solid var(--error-color);color:#dc2626;color:var(--error-color)}.status-warning{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border:1px solid #d97706;border:1px solid var(--warning-color);color:#856404}.results-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.result-card{background:#fff;background:var(--card-background);border-radius:12px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:1.5rem;transition:all .2s ease-in-out;transition:var(--transition)}.result-card:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-2px)}.result-title{border-bottom:2px solid #2563eb;border-bottom:2px solid var(--primary-color);color:#0f172a;color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.pdf-viewer{background:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin:1rem 0;overflow:hidden}.pdf-viewer iframe{border:none;min-height:600px;width:100%}.connection-test,.pdf-viewer iframe{border-radius:12px;border-radius:var(--border-radius)}.connection-test{background:linear-gradient(135deg,#6c7b8b1a,#6c7b8b0d);margin-bottom:2rem;padding:1.5rem;text-align:center}.connection-test h3{color:#0f172a;color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem}.data-table{background:#fff;border-collapse:collapse;border-radius:12px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-top:1rem;overflow:hidden;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e9ecef;padding:12px 16px;text-align:left}.data-table th{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.data-table tr:hover{background:#4a90e20d}.data-table tr:last-child td{border-bottom:none}.property-summary,.tab-navigation{margin-bottom:2rem}.tab-navigation{border-bottom:2px solid #4a90e21a;display:flex;gap:.5rem;overflow-x:auto}.tab-button{background:none;border:none;border-radius:12px 12px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;color:#334155;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease-in-out;transition:var(--transition);white-space:nowrap}.tab-button:hover{background:#4a90e20d}.tab-button.active,.tab-button:hover{color:#2563eb;color:var(--primary-color)}.tab-button.active{background:linear-gradient(135deg,#4a90e21a,#4a90e20d);border-bottom:2px solid #2563eb;border-bottom:2px solid var(--primary-color)}.tab-content{min-height:200px}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background:linear-gradient(135deg,#4a90e20d,#4a90e205);border-left:4px solid #2563eb;border-left:4px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);padding:1rem}.info-label{color:#334155;color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:.5rem}.info-value{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:600}.financial-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.financial-card{background:linear-gradient(135deg,#28a7450d,#28a74505);border-radius:12px;border-radius:var(--border-radius);border-top:4px solid #059669;border-top:4px solid var(--success-color);padding:1.5rem}.financial-title{color:#059669;color:var(--success-color);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.value-item{background:#fff;border-radius:6px;color:#0f172a;color:var(--text-primary);font-family:monospace;font-weight:700;margin-bottom:.5rem;padding:.5rem}.quality-stat{border-bottom:1px solid #6c7b8b33;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 0}.tech-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tech-card{background:linear-gradient(135deg,#6c7b8b0d,#6c7b8b05);border-radius:12px;border-radius:var(--border-radius);border-top:4px solid #64748b;border-top:4px solid var(--secondary-color);padding:1.5rem}.tech-title{color:#64748b;color:var(--secondary-color);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.tech-stat{background:#fff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.5rem}.pages-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.page-card{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border-radius:12px;border-radius:var(--border-radius);padding:1rem;text-align:center}.page-number{color:#0f172a;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.page-count{color:#334155;color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.page-bar{background:#ffc10733;border-radius:3px;height:6px;overflow:hidden}.page-bar-fill{background:linear-gradient(90deg,#d97706,#e6ac00);background:linear-gradient(90deg,var(--warning-color),#e6ac00);height:100%;transition:width .3s ease}@media (max-width:768px){.App{padding:10px}.app-title{font-size:2rem}.card{margin-bottom:1.5rem;padding:1.5rem}.file-drop-zone{min-height:150px;padding:2rem}.upload-icon{font-size:3rem}.results-section{gap:1rem;grid-template-columns:1fr}.tab-navigation{justify-content:flex-start}.tab-button{font-size:.8rem;padding:.5rem 1rem}.financial-grid,.info-grid,.pages-grid,.tech-grid{grid-template-columns:1fr}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}.text-center{text-align:center}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{flex-direction:column}.gap-2{gap:1rem}.mt-2{margin-top:1rem}.duplicate-alert{animation:fadeIn .5s ease-out;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 24px #ffc10733;margin-bottom:2rem}.duplicate-header{align-items:center;border-bottom:2px solid #ffc107;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.duplicate-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffc107,#ff8f00);-webkit-background-clip:text;background-clip:text;font-size:2.5rem}.duplicate-header h3{color:#cc8700;font-size:1.5rem;font-weight:600;margin:0}.duplicate-content{display:flex;flex-direction:column;gap:1.5rem}.duplicate-message{color:#856404;font-size:1.1rem;line-height:1.6;margin:0}.duplicate-stats{background:#ffffffb3;border:1px solid #ffc107;border-radius:8px;display:flex;gap:2rem;padding:1rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#856404;font-size:.9rem}.stat-value{color:#cc8700;font-size:1.2rem;font-weight:600}.validation-results{background:#fff;background:var(--card-background);border:2px solid #2563eb;border:2px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow-medium);margin-bottom:2rem;overflow:hidden}.validation-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.validation-title{align-items:center;display:flex;gap:1rem}.validation-icon{color:#2563eb;color:var(--primary-color);font-size:1.75rem}.validation-title h3{color:#0f172a;color:var(--text-primary);font-size:1.4rem;font-weight:600;margin:0}.validation-score{border-radius:25px;font-size:.9rem;font-weight:500;letter-spacing:.01em;padding:10px 18px}.validation-score.score-excellent{background:linear-gradient(135deg,#059669,#8cc88c);background:linear-gradient(135deg,var(--success-color),#8cc88c);color:#0f172a;color:var(--text-primary)}.validation-score.score-good{background:linear-gradient(135deg,#0284c7,#93c5fd);background:linear-gradient(135deg,var(--info-color),var(--primary-light));color:#0f172a;color:var(--text-primary)}.validation-score.score-fair{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#212529}.validation-score.score-poor{background:linear-gradient(135deg,#dc3545,#fd1f5f);color:#fff}.validation-stats,.validation-summary{margin-bottom:1.5rem}.validation-stats{display:flex;gap:1.5rem}.stat-card{background:#fffc;border:2px solid #e9ecef;border-radius:12px;flex:1 1;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card.critical{background:linear-gradient(135deg,#fff5f5,#ffe6e6);border-color:#dc3545}.stat-card.warning{background:linear-gradient(135deg,#fffcf0,#fff3cd);border-color:#ffc107}.stat-number{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-card.critical .stat-number{color:#dc3545}.stat-card.warning .stat-number{color:#856404}.stat-label{color:#6c757d;font-size:1rem;font-weight:500}.critical-alert{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #dc3545;border-radius:8px;color:#721c24;font-weight:600;margin-bottom:1.5rem;padding:1rem}.validation-recommendations{background:#ffffffe6;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.validation-recommendations h4{color:#4a90e2;font-size:1.2rem;margin:0 0 1rem}.validation-recommendations ul{margin:0;padding-left:1.5rem}.validation-recommendations li{color:#495057;line-height:1.5;margin-bottom:.5rem}.validation-details{border-top:2px solid #e3f2fd;margin-top:1.5rem;padding-top:1.5rem}.validation-details h4{color:#2c3e50;font-size:1.3rem;margin:0 0 1.5rem}.validation-flags{display:flex;flex-direction:column;gap:1rem}.validation-flag{background:#ffffffe6;border-left:4px solid #6c757d;border-radius:8px;padding:1.5rem;transition:all .3s ease}.validation-flag.flag-critical{background:linear-gradient(135deg,#fff5f5,#f8d7da4d);border-left-color:#dc3545}.validation-flag.flag-warning{background:linear-gradient(135deg,#fffcf0,#fff3cd4d);border-left-color:#ffc107}.validation-flag.flag-info{background:linear-gradient(135deg,#f0f9ff,#d1ecf14d);border-left-color:#17a2b8}.flag-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.flag-icon{font-size:1.2rem}.flag-type{color:#2c3e50;font-size:.9rem;font-weight:600}.flag-severity{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.severity-critical{background:#dc3545;color:#fff}.severity-warning{background:#ffc107;color:#212529}.severity-info{background:#17a2b8;color:#fff}.flag-description{color:#495057;font-size:1rem;line-height:1.6;margin-bottom:.75rem}.flag-recommendation{background:#4a90e21a;border-left:3px solid #4a90e2;border-radius:6px;margin-bottom:.75rem;padding:.75rem}.flag-recommendation strong{color:#357abd}.flag-details{margin-top:.75rem}.flag-details summary{background:#4a90e21a;border-radius:4px;color:#4a90e2;cursor:pointer;font-weight:600;outline:none;padding:.5rem}.flag-details summary:hover{background:#4a90e233}.flag-details pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.85rem;margin-top:.5rem;overflow-x:auto;padding:1rem}.no-issues{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #28a745;border-radius:8px;color:#155724;font-size:1.1rem;padding:2rem;text-align:center}.duplicate-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.duplicate-actions .btn{border-radius:8px;flex:1 1;font-weight:600;max-width:200px;min-width:160px;padding:12px 20px;transition:all .3s ease}.duplicate-actions .btn-primary{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;color:#fff}.duplicate-actions .btn-primary:hover{background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 6px 20px #4a90e24d;transform:translateY(-2px)}.duplicate-actions .btn-secondary{background:linear-gradient(135deg,#6c7b8b,#5a6c7d);border:none;color:#fff}.duplicate-actions .btn-secondary:hover{background:linear-gradient(135deg,#5a6c7d,#495968);box-shadow:0 6px 20px #6c7b8b4d;transform:translateY(-2px)}.duplicate-actions .btn-light{background:#ffffffe6;border:2px solid #ffc107;color:#856404}.duplicate-actions .btn-light:hover{background:#fff;box-shadow:0 6px 20px #ffc10733;transform:translateY(-2px)}.duplicate-actions .btn:disabled{cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.duplicate-stats{gap:1rem;text-align:center}.duplicate-actions,.duplicate-stats{flex-direction:column}.duplicate-actions .btn{max-width:none}}.analysis-history{background:#fffffff2;border:1px solid #e9ecef;margin-top:2rem}.analysis-history h3{align-items:center;color:#2563eb;color:var(--primary-color);display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{background:#f8f9facc;border:1px solid #dee2e6;border-radius:8px;justify-content:space-between;transition:all .3s ease}.history-item:hover{background:#f8f9fa;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.history-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.history-actions{align-items:center;display:flex;gap:.5rem}.history-filename{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:600}.history-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem}.history-date,.history-meta{color:#334155;color:var(--text-secondary)}.history-status{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.history-status.status-complete{background:#28a7451a;color:#28a745}.history-status.status-failed{background:#dc35451a;color:#dc3545}.history-status.status-processing{background:#ffc1071a;color:#ffc107}.btn-outline,.history-count{color:#2563eb;color:var(--primary-color);font-weight:500}.btn-outline{background:#0000;border:1.5px solid #2563eb;border:1.5px solid var(--primary-color);border-radius:6px;font-size:.875rem;min-width:80px;padding:.5rem 1rem;transition:all .3s ease}.btn-outline:hover{background:#2563eb;background:var(--primary-color);box-shadow:0 4px 12px #4a90e24d;color:#fff;transform:translateY(-1px)}.btn-progress{background:#0000;border:1.5px solid #d97706;border:1.5px solid var(--warning-color);border-radius:6px;color:#d97706;color:var(--warning-color);font-size:.875rem;font-weight:500;min-width:120px;padding:.5rem 1rem;transition:all .3s ease}.btn-progress:hover{background:#d97706;background:var(--warning-color);box-shadow:0 4px 12px #ffc1074d;color:#212529;transform:translateY(-1px)}.btn-error{background:#0000;border:1.5px solid #dc2626;border:1.5px solid var(--error-color);border-radius:6px;color:#dc2626;color:var(--error-color);font-size:.875rem;font-weight:500;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.btn-error:hover{background:#dc2626;background:var(--error-color);box-shadow:0 4px 12px #dc35454d;color:#fff;transform:translateY(-1px)}.btn-sm{font-size:.8rem;padding:.375rem .75rem}@media (max-width:768px){.history-item{gap:1rem}.history-item,.history-meta{align-items:flex-start;flex-direction:column}.history-meta{gap:.5rem}.btn-outline{align-self:flex-end}}button:focus,input:focus,select:focus{outline:3px solid #2563eb;outline:3px solid var(--primary-color);outline-offset:2px}.theme-toggle-btn:focus{outline:3px solid #2563eb;outline:3px solid var(--primary-color);outline-offset:3px}a{color:#2563eb;color:var(--primary-color);text-decoration:underline}a:hover{color:#1d4ed8;color:var(--primary-dark);text-decoration:none}a:focus{outline:3px solid #2563eb;outline:3px solid var(--primary-color);outline-offset:2px}[data-theme=dark] .card{border-color:#cbd5e0;border-color:var(--border-medium)}[data-theme=dark] .selected-file,[data-theme=dark] .validation-results{background:#f8fafc;background:var(--card-hover)}[data-theme=dark] .validation-results{border-color:#93c5fd;border-color:var(--primary-light)}.file-history{display:flex;flex-direction:column;gap:1rem}.history-item{align-items:center;background:#f8fafc;background:var(--card-hover);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:6px;border-radius:var(--border-radius-small);display:flex;gap:1rem;padding:1rem;transition:all .2s ease-in-out;transition:var(--transition)}.history-item:hover{border-color:#2563eb;border-color:var(--primary-color);transform:translateX(4px)}.history-item.current-file{background:#10b9811a;border-color:#059669;border-color:var(--success-color)}.file-icon{font-size:1.5rem;min-width:2rem;text-align:center}.file-details{flex:1 1}.file-name{color:#0f172a;color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.file-status{color:#059669;color:var(--success-color);font-size:.875rem;margin-bottom:.25rem}.file-stats{color:#64748b;color:var(--text-muted);font-size:.75rem}.file-stats span{margin-right:.5rem}.file-date{color:#334155;color:var(--text-secondary);font-size:.875rem}.empty-state{color:#64748b;color:var(--text-muted);padding:2rem;text-align:center}.empty-icon{font-size:2rem;margin-bottom:1rem}
/*# sourceMappingURL=main.54a25929.css.map*/