*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px;margin-bottom:20px}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}th{background-color:#f9fafb;font-weight:600;color:#374151}tr:hover{background-color:#f9fafb}.status-matched{background-color:#d1fae5!important;color:#065f46}.status-mismatched{background-color:#fee2e2!important;color:#991b1b}.status-not-found{background-color:#fef3c7!important;color:#92400e}.error-message{background-color:#fee2e2;color:#991b1b;padding:12px;border-radius:6px;margin-bottom:16px}.success-message{background-color:#d1fae5;color:#065f46;padding:12px;border-radius:6px;margin-bottom:16px}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#6b7280}.file-upload{border:2px dashed #d1d5db;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:border-color .2s}.file-upload:hover{border-color:#2563eb}.file-upload.dragover{border-color:#2563eb;background-color:#eff6ff}.file-upload input{display:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#f9fafb;padding:16px;border-radius:8px;text-align:center}.stat-card .value{font-size:24px;font-weight:600;color:#1f2937}.stat-card .label{font-size:12px;color:#6b7280;margin-top:4px}.nav{background:#fff;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}.nav-brand{font-size:18px;font-weight:600;color:#1f2937;text-decoration:none}.nav-links{display:flex;gap:24px}.nav-links a{color:#6b7280;text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#2563eb}.nav-user{display:flex;align-items:center;gap:12px}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px;cursor:pointer;transition:transform .2s,box-shadow .2s}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.dashboard-card h3{margin-bottom:8px;color:#1f2937}.dashboard-card p{color:#6b7280;font-size:14px}.steps{display:flex;justify-content:space-between;margin-bottom:32px}.step{flex:1;text-align:center;position:relative}.step:before{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background:#e5e7eb}.step:last-child:before{display:none}.step-number{width:32px;height:32px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;position:relative;z-index:1;font-weight:600}.step.active .step-number{background:#2563eb;color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:12px;color:#6b7280}.step.active .step-label{color:#2563eb;font-weight:500}.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.column-mapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
