.navigation{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;padding:.75rem 0;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1000}.navigation.dark{background:linear-gradient(135deg,#5a6fd6,#6a4190)}.nav-container{justify-content:space-between;padding:0 2rem;width:100%}.nav-container,.nav-left{align-items:center;display:flex}.nav-left{gap:1rem}.nav-brand a{color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none}.nav-right{align-items:center;display:flex;gap:1rem}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;height:18px;justify-content:space-between;padding:0;width:24px}.hamburger span{background-color:#fff;border-radius:2px;display:block;height:2px;transition:all .3s ease;width:100%}.hamburger.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.theme-toggle{background:#fff3}.theme-toggle:hover{background:#ffffff4d}.user-name{color:#fff;font-size:.9rem}.logout-btn{background-color:#fff3;border:2px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .3s}.logout-btn:hover{background-color:#ffffff4d;border-color:#ffffff80}.slide-menu{background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:4px 0 20px #0000004d;display:flex;flex-direction:column;height:100vh;left:-300px;position:fixed;top:0;transition:left .3s ease;width:280px;z-index:1002}.navigation.dark .slide-menu{background:linear-gradient(180deg,#5a6fd6,#6a4190)}.slide-menu.open{left:0}.menu-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.menu-title{font-size:1.2rem}.close-btn,.menu-title{color:#fff;font-weight:700}.close-btn{background:#fff3;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.4rem .6rem;transition:all .2s}.close-btn:hover{background:#ffffff4d}.menu-items{flex:1 1;overflow-y:auto;padding:1rem 0}.menu-item{border-left:3px solid #0000;color:#ffffffd9;display:block;font-weight:500;padding:1rem 1.5rem;text-decoration:none;transition:all .2s}.menu-item:hover{background-color:#ffffff1a;color:#fff}.menu-item.active{background-color:#ffffff26;border-left-color:#fff;color:#fff}.menu-footer{border-top:1px solid #fff3;padding:1.5rem}.menu-logout-btn{background-color:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s;width:100%}.menu-logout-btn:hover{background-color:#ffffff4d;border-color:#ffffff80}.menu-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}@media (max-width:600px){.user-name{display:none}.nav-container{padding:0 1rem}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0003;max-width:420px;padding:2.5rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.back-link{color:#667eea;display:inline-block;font-size:.9rem;margin-bottom:1rem;text-decoration:none;transition:color .3s}.back-link:hover{color:#764ba2}.auth-header h1{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem}.auth-header p{color:#7f8c8d}.auth-form{gap:1.25rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.875rem 1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group input::placeholder{color:#aaa}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:transform .3s,box-shadow .3s}.auth-button:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{align-items:flex-start;font-size:.9rem}.error-icon{flex-shrink:0}.auth-footer{border-top:1px solid #eee;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.auth-footer p{color:#7f8c8d}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.input-error{border-color:#e74c3c!important}.input-success{border-color:#27ae60!important}.field-status{display:block;font-size:.85rem;margin-top:.25rem}.field-status.success{color:#27ae60}.field-status.error{color:#e74c3c}.field-status.checking{color:#7f8c8d}.password-strength{margin-top:.5rem}.strength-bar{background:#e0e0e0;border-radius:2px;height:4px;margin-bottom:.25rem;overflow:hidden}.strength-fill{height:100%;transition:width .3s,background-color .3s}.strength-text{font-size:.85rem;font-weight:600}.dashboard-container{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{margin-bottom:2.5rem;text-align:center}.dashboard-header h1{color:var(--text-primary);font-size:2rem;margin-bottom:.5rem}.dashboard-header p{color:var(--text-secondary);font-size:1.1rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.dashboard-card{align-items:center;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 10px var(--shadow-color);color:inherit;display:flex;gap:1.25rem;min-height:120px;padding:1.75rem;position:relative;text-decoration:none;transition:transform .2s,box-shadow .2s}.dashboard-card:hover:not(.disabled){box-shadow:0 6px 20px var(--shadow-color);transform:translateY(-4px)}.dashboard-card.disabled{cursor:not-allowed;opacity:.5}.card-icon-wrapper{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.card-icon-wrapper.blue{background:linear-gradient(135deg,#3498db,#2980b9)}.card-icon-wrapper.green{background:linear-gradient(135deg,#27ae60,#219a52)}.card-icon-wrapper.purple{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.card-icon-wrapper.orange{background:linear-gradient(135deg,#e67e22,#d35400)}.card-icon-wrapper.grey{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.card-icon-text{color:#fff;font-size:1.25rem;font-weight:700}.card-content{flex:1 1;min-width:0}.card-content h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:.5rem}.card-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.card-status{background-color:var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.75rem;padding:.25rem .75rem;position:absolute;right:1rem;top:1rem}.card-status.available{background-color:#d4edda;color:#155724}body.dark-mode .card-status.available{background-color:#1e4620;color:#a3d9a5}@media (max-width:768px){.dashboard-container{padding:1.5rem}.dashboard-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:1.75rem}.card-icon-wrapper{height:56px;width:56px}.card-icon-text{font-size:1.1rem}}.upload-container{margin:0 auto;max-width:1200px;padding:2rem}.upload-header{margin-bottom:2rem;text-align:center}.upload-header h1{color:var(--text-primary);margin-bottom:.5rem}.upload-header p{color:var(--text-secondary)}.upload-card{background:var(--bg-secondary);border-radius:15px;box-shadow:0 2px 10px var(--shadow-color);margin-bottom:2rem;padding:2rem}.upload-label{background-color:var(--bg-primary);padding:3rem}.upload-label:hover{background-color:var(--bg-secondary)}.file-info{text-align:center}.file-name{color:var(--text-primary);display:block;font-weight:600;margin-bottom:.25rem}.file-size{color:var(--text-secondary);font-size:.9rem}.upload-text{text-align:center}.upload-text span{color:var(--text-primary);display:block}.upload-hint{color:var(--text-secondary)!important;font-size:.85rem;margin-top:.5rem}.upload-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s;width:100%}.upload-button:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.upload-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background-color:#fff5f5;border-left:4px solid #c53030;color:#c53030;gap:.5rem;margin-top:1rem}.results-container{display:flex;flex-direction:column;gap:1.5rem}.status-card{align-items:center;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 10px var(--shadow-color);display:flex;gap:1.5rem;padding:1.5rem 2rem}.status-card.valid{border-left:5px solid #27ae60}.status-card.invalid{border-left:5px solid #e74c3c}.status-icon{font-size:3rem}.status-text h3{color:var(--text-primary);margin:0 0 .25rem}.status-text p{color:var(--text-secondary);margin:0}.columns-card,.empty-fields-card,.errors-card,.preview-card,.summary-card,.totals-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 10px var(--shadow-color);padding:1.5rem}.columns-card h3,.empty-fields-card h3,.errors-card h3,.preview-card h3,.summary-card h3,.totals-card h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:1.25rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:var(--bg-primary);border-radius:10px;padding:1rem;text-align:center}.stat-value{color:#667eea;font-size:2rem}.stat-label{font-size:.9rem}.totals-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.total-item{align-items:center;background:#f0fdf4;border-left:4px solid #27ae60;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}body.dark-mode .total-item{background:#1a3d1a}.total-label{color:var(--text-primary);font-weight:600}.total-value{color:#27ae60;font-size:1.25rem;font-weight:700}.columns-list{display:flex;flex-wrap:wrap;gap:.5rem}.column-tag{background:#e8f4fd;border-radius:20px;color:#2980b9;font-size:.9rem;font-weight:500;padding:.5rem 1rem}body.dark-mode .column-tag{background:#1a3d5c;color:#5dade2}.empty-fields-table,.errors-table,.preview-table{overflow-x:auto}table th{background:var(--bg-primary);white-space:nowrap}table td,table th{padding:.875rem 1rem}.row-number{background:var(--bg-primary);color:#667eea;font-family:monospace;font-weight:600;text-align:center}.error-type{background:#fee;border-radius:4px;color:#c53030;font-size:.85rem;font-weight:500;padding:.25rem .5rem}body.dark-mode .error-type{background:#5c1a1a}.empty-cell{background:#fffbeb}body.dark-mode .empty-cell{background:#5c4a1a}.empty-indicator{color:#d97706;font-weight:700}.more-errors{color:var(--text-secondary);font-style:italic;margin-top:1rem;text-align:center}@media (max-width:768px){.upload-container{padding:1rem}.upload-label{padding:2rem}.status-card{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}.reconciliation-container{margin:0 auto;max-width:1200px;padding:20px}.reconciliation-header{margin-bottom:30px;text-align:center}.reconciliation-header h1{color:var(--text-primary);margin-bottom:10px}.reconciliation-header p{color:var(--text-secondary)}.progress-steps{border-radius:12px;margin-bottom:30px;padding:20px}.progress-step{gap:8px}.step-circle,.step-number{align-items:center;background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:50%;color:var(--text-secondary);display:flex;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.progress-step.active .step-circle,.progress-step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.progress-step.completed .step-circle,.progress-step.completed .step-number{background:#27ae60;color:#fff}.progress-step span{font-size:12px}.progress-line{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);margin:0 10px}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-card{border-radius:12px;box-shadow:0 2px 10px #0000001a;box-shadow:0 2px 10px var(--shadow-color,#0000001a);padding:30px}.step-card h2{margin-bottom:10px}.step-card>p{margin-bottom:20px}.results-card{max-width:100%}.upload-zone{margin-bottom:20px}.upload-label{border:2px dashed var(--border-color);border-radius:12px;gap:15px;padding:40px;text-align:center;transition:all .3s ease}.upload-label:hover{background:#667eea0d;border-color:#667eea}.upload-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:30px;font-weight:300;height:60px;justify-content:center;width:60px}.upload-label span{font-weight:500}.upload-label small{font-size:13px}.file-uploaded{display:flex;flex-direction:column;gap:5px}.file-name,.file-uploaded .file-name{color:var(--text-primary);font-weight:600}.file-details,.file-uploaded .file-details{color:var(--text-secondary);font-size:14px}.file-info-card{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:8px;margin-bottom:25px;padding:15px 20px}.file-info-card h3{color:var(--text-primary);font-size:16px;margin-bottom:5px}.file-info-card p{color:var(--text-secondary);font-size:14px;margin:0}.config-section{border-bottom:1px solid var(--border-color);margin-bottom:25px;padding-bottom:25px}.config-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.config-section h3,.config-section h4{color:var(--text-primary);font-size:16px;margin-bottom:8px}.config-section>p{color:var(--text-secondary);font-size:14px;margin-bottom:15px}.column-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.column-chip{align-items:center;background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border:2px solid #0000;border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.column-chip:hover{background:var(--bg-primary);border-color:var(--border-color)}.column-chip.selected{background:#667eea26;border-color:#667eea;color:#667eea}.mapping-list{display:flex;flex-direction:column;gap:10px}.mapping-item{align-items:center;background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:8px;display:flex;gap:12px;padding:12px 15px}.mapping-item .source-col,.source-col{color:var(--text-primary);font-weight:500;min-width:120px}.mapping-arrow{color:var(--text-secondary);font-size:18px}.mapping-item input[type=text]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:14px;padding:8px 12px}.mapping-item input[type=text]:focus{border-color:#667eea;outline:none}.btn-remove{background:#e74c3c1a;border-radius:6px;color:#e74c3c;font-size:18px;height:30px;transition:all .2s ease;width:30px}.btn-remove:hover{background:#e74c3c33}.duplicate-options{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#667eea;height:18px;width:18px}.duplicate-results{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:8px;display:flex;gap:20px;margin-top:15px;padding:15px}.duplicate-stat{align-items:center;display:flex;flex-direction:column;gap:5px}.duplicate-stat .stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.duplicate-stat .stat-label{color:var(--text-secondary);font-size:12px}.tolerance-input{align-items:center;display:flex;gap:15px}.tolerance-input input[type=number]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:10px 12px;width:120px}.tolerance-input input[type=number]:focus{border-color:#667eea;outline:none}.tolerance-hint{color:var(--text-secondary);font-size:13px}.config-summary{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:8px;margin-top:20px;padding:20px}.config-summary h3{color:var(--text-primary);font-size:16px;margin-bottom:15px}.summary-item{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--text-secondary);font-weight:500}.summary-value{color:var(--text-primary)}.step-actions{gap:15px;justify-content:space-between;margin-top:30px;padding-top:20px}.btn-primary{font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:disabled{box-shadow:none;transform:none}.btn-secondary{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border:1px solid var(--border-color);font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.error-message{align-items:center;background:#e74c3c1a;border:1px solid #e74c3c4d;color:#e74c3c;display:flex;gap:10px;margin-bottom:20px;padding:15px 20px}.error-icon{font-size:20px}.loading-overlay{background:#00000080}.loading-content{border-radius:12px}.loading-spinner{border:4px solid #e8e8e8;border:4px solid var(--bg-tertiary,#e8e8e8)}.loading-message{font-weight:500}.progress-container{gap:10px}.progress-bar{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8)}.results-summary{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.result-stat{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);padding:20px}.result-stat .stat-value{color:var(--text-primary);display:block;font-size:28px;margin-bottom:5px}.result-stat .stat-label{color:var(--text-secondary);font-size:13px}.result-stat.match-rate{background:linear-gradient(135deg,#667eea,#764ba2)}.result-stat.match-rate .stat-label,.result-stat.match-rate .stat-value{color:#fff}.result-stat.match-rate.excellent{background:linear-gradient(135deg,#27ae60,#2ecc71)}.result-stat.match-rate.good{background:linear-gradient(135deg,#667eea,#764ba2)}.result-stat.match-rate.fair{background:linear-gradient(135deg,#f39c12,#e67e22)}.result-stat.match-rate.poor{background:linear-gradient(135deg,#e74c3c,#c0392b)}.result-stat.matched{border-left:4px solid #27ae60}.result-stat.unmatched{border-left:4px solid #e74c3c}.stat-value{color:var(--text-primary);display:block;font-size:24px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:12px}.charts-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:30px}.chart-container{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:10px;padding:20px}.chart-container h3,.chart-container h4{color:var(--text-primary);font-size:16px;margin-bottom:15px}.unmatched-section,.variance-section{margin-bottom:25px}.unmatched-section h3,.variance-section h3{color:var(--text-primary);font-size:18px;margin-bottom:15px}.unmatched-table,.variance-table{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);border-radius:10px;overflow-x:auto}.unmatched-table table,.variance-table table{border-collapse:collapse;width:100%}.unmatched-table td,.unmatched-table th,.variance-table td,.variance-table th{border-bottom:1px solid var(--border-color);padding:12px 15px;text-align:left}.unmatched-table th,.variance-table th{background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:600;text-transform:uppercase}.unmatched-table td,.variance-table td{color:var(--text-primary);font-size:14px}.unmatched-table tr:last-child td,.variance-table tr:last-child td{border-bottom:none}.number-cell{font-family:Courier New,monospace;text-align:right}.number-cell.positive{color:#27ae60}.number-cell.negative{color:#e74c3c}.source-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.source-badge.source{background:#667eea26;color:#667eea}.source-badge.target{background:#764ba226;color:#764ba2}.more-records{color:var(--text-secondary);font-size:14px;font-style:italic;padding:15px;text-align:center}@media (max-width:768px){.reconciliation-container{padding:15px}.progress-steps{flex-wrap:wrap;gap:15px}.progress-line{display:none}.step-card{padding:20px}.column-chips{gap:8px}.column-chip{font-size:13px;padding:8px 12px}.mapping-item{align-items:flex-start;flex-direction:column;gap:10px}.mapping-item .source-col{min-width:auto}.mapping-item input[type=text]{width:100%}.step-actions{flex-direction:column}.step-actions button{width:100%}.results-summary{grid-template-columns:repeat(2,1fr)}.charts-section{grid-template-columns:1fr}.duplicate-options,.tolerance-input{align-items:flex-start;flex-direction:column}}.mapping-item select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px}.mapping-item select:focus{border-color:#667eea;outline:none}.history-container{margin:0 auto;max-width:1200px;padding:2rem}.history-header{margin-bottom:2rem;text-align:center}.history-header h1{color:var(--text-primary);margin-bottom:.5rem}.history-header p{color:var(--text-secondary)}.loading{font-size:1.2rem;padding:3rem;text-align:center}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:5px;color:#c33;margin-bottom:2rem}body.dark-mode .error-message{background-color:#4a1f1f;border-left-color:#f5c6cb;color:#f5c6cb}.history-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:.25rem;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.75rem 1rem;transition:all .3s;white-space:nowrap}.tab-button:hover{color:#667eea}.tab-button.active{border-bottom-color:#667eea;color:#667eea}.history-content{background:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.empty-state{padding:4rem 2rem;text-align:center}.empty-icon{color:var(--text-secondary);font-size:3rem;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary)}.history-table{overflow-x:auto}table{border-collapse:collapse;width:100%}table th{background-color:var(--bg-primary);border-bottom:2px solid var(--border-color);font-size:.8rem;font-weight:600;text-align:left}table td,table th{color:var(--text-primary);padding:.75rem}table td{border-bottom:1px solid var(--border-color);font-size:.85rem}table tr:hover{background-color:var(--bg-primary)}.filename{font-weight:500;gap:.5rem}.file-icon,.filename{align-items:center;display:flex}.file-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;height:24px;justify-content:center;min-width:24px;width:24px}.run-id{color:#667eea;font-family:monospace;font-weight:600}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.status-badge.completed,.status-badge.valid{background-color:#d4edda;color:#155724}.status-badge.failed,.status-badge.invalid{background-color:#f8d7da;color:#721c24}body.dark-mode .status-badge.completed,body.dark-mode .status-badge.valid{background-color:#1e4620;color:#a3d9a5}body.dark-mode .status-badge.failed,body.dark-mode .status-badge.invalid{background-color:#4a1f1f;color:#f5c6cb}.discrepancy-count,.error-count{background-color:#fff3cd;border-radius:8px;color:#856404;font-size:.8rem;font-weight:600;padding:.2rem .4rem}body.dark-mode .discrepancy-count,body.dark-mode .error-count{background-color:#4a3f1f;color:#ffeeba}.no-discrepancies,.no-errors{color:#27ae60;font-weight:600}.match-rate{border-radius:20px;font-size:.75rem;font-weight:700;padding:.2rem .5rem;white-space:nowrap}.match-rate.match-high{background-color:#d4edda;color:#155724}.match-rate.match-medium{background-color:#fff3cd;color:#856404}.match-rate.match-low{background-color:#f8d7da;color:#721c24}body.dark-mode .match-rate.match-high{background-color:#1e4620;color:#a3d9a5}body.dark-mode .match-rate.match-medium{background-color:#4a3f1f;color:#ffeeba}body.dark-mode .match-rate.match-low{background-color:#4a1f1f;color:#f5c6cb}.actions{display:flex;gap:.4rem}.btn-view{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.35rem .6rem;transition:background .2s}.btn-view:hover:not(:disabled){background:#5a6fd6}.btn-view:disabled{cursor:not-allowed;opacity:.6}.btn-delete{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.35rem .6rem;transition:background .2s}.btn-delete:hover{background:#c0392b}.history-cards{display:flex;flex-direction:column;gap:1rem}.history-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.card-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.card-filename{color:var(--text-primary);flex:1 1;font-size:.85rem;font-weight:600;word-break:break-word}.card-details{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.card-row{color:var(--text-secondary);display:flex;font-size:.8rem;justify-content:space-between}.card-row span:last-child{color:var(--text-primary);font-weight:500}.card-actions{display:flex;gap:.5rem}.card-actions .btn-delete,.card-actions .btn-view{flex:1 1;font-size:.8rem;padding:.5rem}.desktop-only{display:block}.mobile-only{display:none}.modal-overlay{padding:1rem}.replication-modal{background:var(--bg-secondary);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.modal-header h2{color:var(--text-primary);font-size:1.1rem;margin:0}.btn-close-modal{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem .75rem}.btn-close-modal:hover{background:#c0392b}.modal-body{flex:1 1;overflow-y:auto;padding:1.25rem}.modal-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.modal-stat{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .4rem;text-align:center}.modal-stat.match-high{background:#d4edda;border-color:#c3e6cb}.modal-stat.match-medium{background:#fff3cd;border-color:#ffeeba}.modal-stat.match-low{background:#f8d7da;border-color:#f5c6cb}body.dark-mode .modal-stat.match-high{background:#1e4620;border-color:#2d5a2e}body.dark-mode .modal-stat.match-medium{background:#4a3f1f;border-color:#5a4d2a}body.dark-mode .modal-stat.match-low{background:#4a1f1f;border-color:#5a2d2d}.modal-stat .stat-value{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:700}.modal-stat .stat-label{color:var(--text-secondary);display:block;font-size:.6rem;text-transform:uppercase}.modal-content-area{display:flex;flex-direction:column;gap:.75rem}.modal-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem}.modal-section h3{color:var(--text-primary);font-size:.7rem;letter-spacing:.5px;margin:0 0 .5rem;opacity:.8;text-transform:uppercase}.modal-section p{color:var(--text-primary);font-size:.85rem;margin:0}.file-badge{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);display:inline-flex;font-size:.75rem;gap:.4rem;margin-bottom:.4rem;margin-right:.4rem;padding:.3rem .6rem;word-break:break-all}.file-icon-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;color:#fff;display:flex;font-size:.6rem;font-weight:700;height:20px;justify-content:center;min-width:20px;width:20px}.source-files-list-modal{display:flex;flex-wrap:wrap}.explanation-modal{border-left:3px solid #667eea;color:var(--text-primary);font-size:.75rem;line-height:1.4;margin-bottom:.5rem;padding:.6rem}.analysis-subsection-modal,.explanation-modal{background:var(--bg-secondary);border-radius:6px}.analysis-subsection-modal{margin-top:.5rem;padding:.5rem}.analysis-subsection-modal h4{color:var(--text-primary);font-size:.65rem;margin:0 0 .4rem;opacity:.8;text-transform:uppercase}.analysis-item-modal{align-items:center;display:flex;flex-wrap:wrap;font-size:.7rem;gap:.25rem;padding:.25rem 0}.analysis-item-modal code{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;color:#667eea;font-size:.65rem;padding:.15rem .3rem}.analysis-item-modal .join-arrow,.analysis-item-modal .join-on{color:var(--text-secondary);font-size:.65rem}.modal-footer{background:var(--bg-primary);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:flex-end;padding:.75rem 1.25rem}.modal-footer .btn-secondary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1.25rem}.modal-footer .btn-secondary:hover{opacity:.9}@media (max-width:768px){.history-container{padding:1rem}.history-header h1{font-size:1.5rem}.history-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{font-size:.75rem;padding:.6rem .75rem}.history-content{padding:1rem}.desktop-only{display:none}.mobile-only{display:flex}.modal-overlay{align-items:flex-start;padding:2rem .5rem .5rem}.replication-modal{border-radius:8px;max-height:calc(100vh - 4rem)}.modal-header{border-radius:8px 8px 0 0;padding:.75rem 1rem}.modal-header h2{font-size:1rem}.modal-body{padding:1rem}.modal-stats{gap:.4rem;grid-template-columns:repeat(4,1fr)}.modal-stat{padding:.5rem .25rem}.modal-stat .stat-value{font-size:.95rem}.modal-stat .stat-label{font-size:.5rem}.modal-footer{border-radius:0 0 8px 8px;padding:.75rem 1rem}.modal-footer .btn-secondary{padding:.6rem;width:100%}}@media (max-width:400px){.modal-stats{grid-template-columns:repeat(2,1fr)}}.card-body{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.card-label{color:var(--text-secondary);font-size:.8rem}.actions-cell{display:flex;gap:.4rem}.matched-count{background-color:#d4edda;color:#155724}.matched-count,.unmatched-count{border-radius:8px;font-size:.8rem;font-weight:600;padding:.2rem .4rem}.unmatched-count{background-color:#f8d7da;color:#721c24}.source-count{background-color:#cce5ff;border-radius:8px;color:#004085;font-size:.8rem;font-weight:600;padding:.2rem .4rem}body.dark-mode .matched-count{background-color:#1e4620;color:#a3d9a5}body.dark-mode .unmatched-count{background-color:#4a1f1f;color:#f5c6cb}body.dark-mode .source-count{background-color:#1a3a5c;color:#b8daff}.landing-container{background-color:#f8f9fa;min-height:100vh}.landing-container.dark{background-color:#0f0f23}.landing-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.landing-container.dark .landing-header{background:#1a1a2e;box-shadow:0 2px 10px #0003}.landing-header .logo h1{color:#667eea;font-size:1.5rem;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.theme-toggle{background:#e0e0e0;border:none;border-radius:20px;cursor:pointer;height:26px;padding:4px;position:relative;transition:background-color .3s;width:50px}.theme-toggle:hover{background:#d0d0d0}.landing-container.dark .theme-toggle{background:#4a4a6a}.landing-container.dark .theme-toggle:hover{background:#5a5a7a}.theme-toggle-track{border-radius:20px;height:100%;position:relative;width:100%}.theme-toggle-thumb{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:left .3s ease;width:18px}.theme-toggle.dark .theme-toggle-thumb{left:calc(100% - 20px)}.btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.25rem;text-decoration:none;transition:all .3s}.btn-primary:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-large{font-size:1rem;padding:.9rem 1.75rem}.hero-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;padding:4rem 2rem;text-align:center}.hero-content{max-width:700px}.hero-content h1{font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.hero-content p{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.95}.hero-buttons{display:flex;gap:1rem;justify-content:center}.hero-buttons .btn-primary{background:#fff;color:#667eea}.hero-buttons .btn-primary:hover{background:#f0f0f0}.hero-buttons .btn-outline{border-color:#fff;color:#fff}.hero-buttons .btn-outline:hover{background:#fff;color:#667eea}.features-section{background:#fff;padding:3rem 2rem}.landing-container.dark .features-section{background:#1a1a2e}.features-section h2{color:#2c3e50;font-size:2rem;margin-bottom:2rem;text-align:center}.landing-container.dark .features-section h2{color:#e0e0e0}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.feature-card{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;padding:1.5rem;text-align:center;transition:transform .3s,box-shadow .3s}.landing-container.dark .feature-card{background:#252540}.feature-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-4px)}.landing-container.dark .feature-card:hover{box-shadow:0 8px 25px #0000004d}.feature-icon-wrapper{align-items:center;border-radius:12px;display:flex;height:56px;justify-content:center;margin-bottom:1rem;width:56px}.feature-icon-wrapper.blue{background:linear-gradient(135deg,#3498db,#2980b9)}.feature-icon-wrapper.green{background:linear-gradient(135deg,#27ae60,#219a52)}.feature-icon-wrapper.purple{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.feature-icon-wrapper.orange{background:linear-gradient(135deg,#e67e22,#d35400)}.feature-icon-text{color:#fff;font-size:1.1rem;font-weight:700}.feature-card h3{color:#2c3e50;font-size:1.15rem;margin-bottom:.5rem}.landing-container.dark .feature-card h3{color:#e0e0e0}.feature-card p{color:#7f8c8d;font-size:.95rem;line-height:1.5;margin:0}.landing-container.dark .feature-card p{color:#a0a0a0}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 2rem;text-align:center}.cta-section h2{font-size:1.75rem;margin-bottom:.75rem}.cta-section p{font-size:1rem;margin-bottom:1.5rem;opacity:.95}.cta-section .btn-primary{background:#fff;color:#667eea}.cta-section .btn-primary:hover{background:#f0f0f0}.landing-footer{background:#2c3e50;color:#fff;padding:2rem 2rem 1rem}.landing-container.dark .landing-footer{background:#0a0a1a}.footer-content{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1000px}.footer-brand h3{color:#667eea;font-size:1.2rem;margin-bottom:.5rem}.footer-brand p{color:#bdc3c7;font-size:.9rem}.footer-links h4{font-size:1rem;margin-bottom:.75rem}.footer-links a,.footer-links span{color:#bdc3c7;display:block;font-size:.9rem;margin-bottom:.4rem;text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #34495e;color:#7f8c8d;font-size:.85rem;margin-top:1.5rem;padding-top:1.5rem;text-align:center}@media (max-width:768px){.landing-header{padding:1rem}.header-actions{gap:.5rem}.btn{font-size:.85rem;padding:.5rem .9rem}.hero-section{padding:3rem 1.5rem}.hero-content h1{font-size:1.75rem}.hero-content p{font-size:1rem}.hero-buttons{flex-direction:column;gap:.75rem}.cta-section,.features-section{padding:2rem 1.5rem}.cta-section h2,.features-section h2{font-size:1.5rem}.footer-content{flex-direction:column;gap:1.5rem}}.replication-container{margin:0 auto;max-width:1000px;padding:2rem}.replication-header{margin-bottom:2rem;text-align:center}.replication-header h1{color:var(--text-primary);margin-bottom:.5rem}.replication-header p{color:var(--text-secondary);font-size:1.1rem}.progress-steps{background:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 10px var(--shadow-color);justify-content:center;margin-bottom:2rem;padding:1.5rem}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{flex-direction:column;gap:.5rem}.progress-step span{color:var(--text-secondary);font-size:.85rem}.progress-step.active span{color:var(--text-primary);font-weight:500}.step-circle{align-items:center;background:var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-weight:700;height:40px;justify-content:center;transition:all .3s;width:40px}.progress-step.active .step-circle{background:#667eea;color:#fff}.progress-step.completed .step-circle{background:#27ae60;color:#fff}.progress-line{background:var(--border-color);height:3px;margin:0 .5rem;width:60px}.step-content{margin-top:1rem}.step-card{background:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 10px var(--shadow-color);padding:2rem}.step-card h2{color:var(--text-primary);margin-bottom:.5rem}.step-card>p{color:var(--text-secondary)}.step-card>p,.upload-zone{margin-bottom:1.5rem}.upload-zone input[type=file]{display:none}.upload-label{align-items:center;background:var(--bg-primary);border:2px dashed #667eea;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;transition:all .3s}.upload-label:hover{background:var(--bg-secondary);border-color:#5a6fd6}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-label span{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.upload-label small{color:var(--text-secondary)}.file-info{background:var(--bg-primary);border-radius:8px;margin-top:1.5rem;padding:1.5rem}.file-info h3{color:#27ae60;margin-bottom:1rem}.file-info p{color:var(--text-primary);margin:.5rem 0}.preview-table{margin-top:1rem;overflow-x:auto}.preview-table h4{color:var(--text-primary);margin-bottom:.5rem}.preview-table table{border-collapse:collapse;font-size:.9rem;width:100%}.preview-table td,.preview-table th{border:1px solid var(--border-color);padding:.75rem;text-align:left}.preview-table th{background:#667eea;color:#fff;font-weight:500}.preview-table tr:nth-child(2n){background:var(--bg-primary)}.row-status-header{text-align:center!important;width:60px}.row-status{font-size:1.2rem;text-align:center}.row-match{background-color:#d4edda!important}body.dark-mode .row-match{background-color:#1a3d1a!important}.row-different{background-color:#fff3cd!important}body.dark-mode .row-different{background-color:#5c4a1a!important}.cell-different{background-color:#f8d7da!important;font-weight:700}body.dark-mode .cell-different{background-color:#5c1a1a!important}.source-files-list{margin-top:1.5rem}.source-files-list h3{color:var(--text-primary);margin-bottom:1rem}.source-file-item{align-items:center;background:var(--bg-primary);border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem}.file-icon{font-size:2rem}.file-details{display:flex;flex:1 1;flex-direction:column}.file-details strong{color:var(--text-primary)}.file-details span{color:var(--text-secondary);font-size:.9rem}.step-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--border-color);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.btn-secondary:hover{background:var(--bg-primary)}.btn-download{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.btn-download:hover{box-shadow:0 4px 15px #27ae6066;transform:translateY(-2px)}.error-message{background:#fee;border:1px solid #f5c6cb;border-radius:8px;color:#c0392b;margin-bottom:1rem;padding:1rem}body.dark-mode .error-message{background:#3d1f1f}.analysis-section{background:var(--bg-primary);border-radius:8px;margin-bottom:1rem;padding:1.5rem}.analysis-section.warning{background:#fff3cd;border:1px solid #ffc107}body.dark-mode .analysis-section.warning{background:#5c4a1a;border-color:#d97706}.analysis-section h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem}.explanation-text{color:var(--text-primary);font-style:italic;line-height:1.6}.analysis-item{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.analysis-item code{background:#667eea;border-radius:4px;color:#fff;font-size:.9rem;padding:.25rem .75rem}.join-arrow{font-weight:700}.join-arrow,.join-on{color:var(--text-secondary)}.join-on{font-style:italic}.join-type{color:var(--text-secondary);font-size:.85rem}.results-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.result-stat{background:#2c3e50;border-radius:10px;color:#fff;padding:1.5rem;text-align:center}.result-stat.stat-blue{background:#2980b9}.result-stat.stat-purple{background:#8e44ad}.result-stat.stat-green{background:#27ae60}.result-stat.stat-orange{background:#d35400}.result-stat.stat-red{background:#c0392b}.result-stat .stat-value{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.result-stat .stat-label{color:#ffffffe6;font-size:.9rem}.differences-table{margin-top:1rem;overflow-x:auto}.differences-table table{border-collapse:collapse;font-size:.9rem;width:100%}.differences-table td,.differences-table th{border:1px solid var(--border-color);padding:.75rem;text-align:left}.differences-table th{background:#e67e22;color:#fff;font-weight:500}.differences-table tr:nth-child(2n){background:#fff8e7}body.dark-mode .differences-table tr:nth-child(2n){background:#3d3a1a}.cell-replicated{background:#e8f5e9;font-weight:500}body.dark-mode .cell-replicated{background:#1a3d1a}.cell-original{background:#ffebee;font-weight:500}body.dark-mode .cell-original{background:#3d1a1a}.more-differences{color:var(--text-secondary);font-style:italic;margin-top:.5rem;text-align:center}.btn-remove{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:28px;justify-content:center;transition:background .2s;width:28px}.btn-remove:hover{background:#c0392b}@media (max-width:768px){.replication-container{padding:1rem}.progress-steps{flex-wrap:wrap;gap:1rem}.progress-line{display:none}.results-summary{grid-template-columns:1fr}.step-actions{flex-direction:column}.btn-download,.btn-primary,.btn-secondary{width:100%}}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:1rem;padding:1rem}body.dark-mode .success-message{background-color:#1e4620;border-color:#2d5a2e;color:#a3d9a5}.btn-email{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-email:hover{box-shadow:0 4px 15px #3498db66;transform:translateY(-2px)}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:450px;padding:2rem;width:90%}.modal-content h3{color:var(--text-primary);font-size:1.5rem;margin:0 0 1rem}.modal-content p{color:var(--text-secondary);margin-bottom:.5rem}.email-address{background:var(--bg-primary);border-radius:6px;color:var(--text-primary);font-weight:600;padding:.75rem}.email-address,.format-selection{margin-bottom:1.5rem}.format-selection label{color:var(--text-secondary);display:block;font-weight:500;margin-bottom:.75rem}.format-options{display:flex;flex-direction:column;gap:.75rem}.format-option{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s}.format-option:hover{border-color:#667eea}.format-option.selected{background:#667eea1a;border-color:#667eea}.format-option input[type=radio]{display:none}.format-icon{font-size:1.5rem}.format-option span{color:var(--text-primary);font-weight:500}.format-option small{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.25rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions .btn-secondary{background:#0000;border:2px solid var(--border-color);color:var(--text-primary)}.modal-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.modal-actions button{border-radius:6px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}.loading-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-content{background:var(--bg-secondary);border-radius:16px;min-width:300px;padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--bg-tertiary);border-radius:50%;border-top:4px solid #667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-message{color:var(--text-primary);font-size:16px;margin-bottom:15px}.progress-container{align-items:center;display:flex;gap:15px}.progress-bar{background:var(--bg-tertiary);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:14px;min-width:40px}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e8e8e8;--text-primary:#2c3e50;--text-secondary:#7f8c8d;--border-color:#e0e0e0;--shadow-color:#0000001a;--accent-color:#667eea;--success-color:#27ae60;--warning-color:#f39c12;--danger-color:#e74c3c}body.dark-mode{--bg-primary:#0f0f23;--bg-secondary:#1a1a2e;--bg-tertiary:#252542;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#2d2d44;--shadow-color:#0000004d;--accent-color:#667eea;--success-color:#2ecc71;--warning-color:#f1c40f;--danger-color:#e74c3c}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--bg-primary);color:#2c3e50;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}.App,.loading{min-height:100vh}.loading{align-items:center;color:#7f8c8d;color:var(--text-secondary);display:flex;font-size:1.5rem;justify-content:center}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body.dark-mode .history-content,body.dark-mode .info-section,body.dark-mode .replication-detail,body.dark-mode .step-card{background-color:#fff;background-color:var(--bg-secondary);color:#2c3e50;color:var(--text-primary)}body.dark-mode .analysis-section,body.dark-mode .file-info,body.dark-mode .source-file-item,body.dark-mode .source-files-list{background-color:#252540}body.dark-mode table th{background-color:#252540;color:#2c3e50;color:var(--text-primary)}body.dark-mode table td{border-color:#e0e0e0;border-color:var(--border-color);color:#2c3e50;color:var(--text-primary)}body.dark-mode .preview-table,body.dark-mode table tr:hover{background-color:#252540}body.dark-mode .upload-label,body.dark-mode .upload-zone label,body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background-color:#252540;border-color:#e0e0e0;border-color:var(--border-color);color:#2c3e50;color:var(--text-primary)}body.dark-mode .upload-label:hover,body.dark-mode .upload-zone label:hover{background-color:#2d2d50}body.dark-mode .error-message{background-color:#3d1f1f;border-color:#e74c3c}body.dark-mode .explanation,body.dark-mode .explanation-text{background-color:#252540}body.dark-mode .analysis-item{background-color:#1a1a2e}body.dark-mode .loading-content{background-color:#fff;background-color:var(--bg-secondary)}body.dark-mode .loading-content,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5{color:#2c3e50;color:var(--text-primary)}body.dark-mode .tab-button,body.dark-mode p{color:#7f8c8d;color:var(--text-secondary)}body.dark-mode .tab-button.active{color:#667eea;color:var(--accent-color)}body.dark-mode .empty-state h3{color:#2c3e50;color:var(--text-primary)}body.dark-mode .empty-state p,body.dark-mode .stat-label{color:#7f8c8d;color:var(--text-secondary)}body.dark-mode .detail-section h4{color:#2c3e50;color:var(--text-primary)}body.dark-mode .detail-section li,body.dark-mode .detail-section p{color:#7f8c8d;color:var(--text-secondary)}body.dark-mode .reconciliation-container .results-section,body.dark-mode .results-section,body.dark-mode .upload-container{background-color:#fff;background-color:var(--bg-secondary)}body.dark-mode .reconciliation-container{color:#2c3e50;color:var(--text-primary)}body.dark-mode .reconciliation-form{background-color:#fff;background-color:var(--bg-secondary)}body.dark-mode .replication-container{color:#2c3e50;color:var(--text-primary)}body.dark-mode .step-card{background-color:#fff;background-color:var(--bg-secondary)}body.dark-mode .progress-step .step-circle{background-color:#e0e0e0;background-color:var(--border-color);color:#2c3e50;color:var(--text-primary)}body.dark-mode .progress-step.active .step-circle,body.dark-mode .progress-step.completed .step-circle{background-color:#667eea;background-color:var(--accent-color);color:#fff}body.dark-mode .progress-line{background-color:#e0e0e0;background-color:var(--border-color)}body.dark-mode .history-container{color:#2c3e50;color:var(--text-primary)}body.dark-mode .history-tabs{border-bottom-color:#e0e0e0;border-bottom-color:var(--border-color)}body.dark-mode .btn-secondary{background-color:#252540;border-color:#e0e0e0;border-color:var(--border-color);color:#2c3e50;color:var(--text-primary)}body.dark-mode .btn-secondary:hover{background-color:#2d2d50}body.dark-mode .form-group input,body.dark-mode .form-group select{background-color:#252540;border-color:#e0e0e0;border-color:var(--border-color);color:#2c3e50;color:var(--text-primary)}body.dark-mode .form-group label{color:#2c3e50;color:var(--text-primary)}body.dark-mode .results-summary .result-stat,body.dark-mode .stat-value{color:#fff}
/*# sourceMappingURL=main.1fcba5c9.css.map*/