*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #0066cc;--secondary-color: #5a5a5a;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--info-color: #17a2b8;--bg-color: #f5f7fa;--card-bg: #ffffff;--border-color: #dee2e6;--text-color: #333333;--text-light: #6c757d}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#06c,#0052a3);color:#fff;padding:2rem;text-align:center;box-shadow:0 2px 4px #0000001a}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.tagline{font-size:1.1rem;opacity:.95}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.section{background:var(--card-bg);border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.section h2{font-size:1.8rem;margin-bottom:1rem;color:var(--text-color)}.section-description{color:var(--text-light);margin-bottom:1.5rem}.error-banner{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;border:1px solid #f5c6cb;margin-bottom:1.5rem}.upload-zone{border:2px dashed var(--border-color);border-radius:8px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#fafbfc}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--primary-color);background-color:#f0f7ff}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{font-size:1.1rem;color:var(--text-color);margin-bottom:.5rem}.upload-hint{font-size:.9rem;color:var(--text-light)}.preview-section{margin-top:1.5rem}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.preview-header h3{font-size:1.3rem;color:var(--text-color)}.column-selector{margin-bottom:1.5rem}.column-selector label{display:block;margin-bottom:.5rem;font-weight:500}.column-select{width:100%;max-width:400px;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.preview-stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:4px}.stat-item{display:flex;gap:.5rem}.stat-label{font-weight:500;color:var(--text-light)}.stat-value{font-weight:600;color:var(--text-color)}.preview-sample{margin-bottom:1.5rem}.preview-sample h4{margin-bottom:.75rem}.preview-sample table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-sample th,.preview-sample td{padding:.75rem;text-align:left;border:1px solid var(--border-color)}.preview-sample th{background-color:#f8f9fa;font-weight:600}.preview-sample .selected-column{background-color:#e7f3ff}.preview-summary,.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{padding:1.5rem;border-radius:8px;background-color:#f8f9fa;border:2px solid var(--border-color);text-align:center}.summary-card.success{border-color:var(--success-color);background-color:#d4edda}.summary-card.warning{border-color:var(--warning-color);background-color:#fff3cd}.summary-card.error{border-color:var(--error-color);background-color:#f8d7da}.summary-card.info{border-color:var(--info-color);background-color:#d1ecf1}.summary-label{font-size:.9rem;color:var(--text-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:2rem;font-weight:700;color:var(--text-color)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#0052a3;transform:translateY(-1px);box-shadow:0 2px 8px #0066cc4d}.btn-secondary{background-color:#fff;color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#f8f9fa}.btn-large{padding:1rem 2rem;font-size:1.1rem}.action-buttons,.download-buttons{display:flex;gap:1rem;margin-top:1.5rem}.pricing-info{margin:2rem 0;padding:1.5rem;background-color:#f8f9fa;border-radius:4px;border-left:4px solid var(--primary-color)}.pricing-info h3{margin-bottom:.5rem}.pricing-info strong{color:var(--primary-color);font-size:1.2rem}.processing{text-align:center;padding:3rem 1rem}.spinner{margin:0 auto 2rem;width:50px;height:50px;border:4px solid rgba(0,102,204,.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.download-section{margin:2rem 0;padding:2rem;background-color:#f8f9fa;border-radius:8px}.download-section h3{margin-bottom:1rem}.app-footer{background-color:#343a40;color:#fff;padding:2rem;text-align:center;margin-top:auto}.app-footer p{margin-bottom:.5rem;font-size:.9rem}.app-footer strong{color:var(--warning-color)}@media (max-width: 768px){.app-header h1{font-size:1.8rem}.tagline{font-size:.9rem}.app-main{padding:1rem}.section{padding:1.5rem}.preview-header{flex-direction:column;align-items:flex-start;gap:1rem}.preview-stats{flex-direction:column;gap:.5rem}.action-buttons,.download-buttons{flex-direction:column}.preview-summary,.results-summary{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg);border-radius:12px;max-width:800px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.5rem;color:var(--text-color)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:var(--bg-color);color:var(--text-color)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.modal-description{margin-bottom:1rem;color:var(--text-light)}.modal-table{width:100%;border-collapse:collapse;font-size:.95rem}.modal-table th,.modal-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.modal-table th{background-color:var(--bg-color);font-weight:600;color:var(--text-color);position:sticky;top:0;z-index:1}.modal-table tbody tr:hover{background-color:var(--bg-color)}.modal-table tbody tr:last-child td{border-bottom:none}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.summary-card.clickable{transition:transform .2s,box-shadow .2s}.summary-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.abn-list{width:100%}@media (max-width: 768px){.modal-content{max-height:90vh}.modal-table{font-size:.85rem}.modal-table th,.modal-table td{padding:.5rem}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
