:root{--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--accent-color: #6366f1;--accent-hover: #4f46e5;--text-primary: #f8fafc;--text-secondary: #94a3b8;--success: #22c55e;--error: #ef4444}body{margin:0;font-family:Inter,-apple-system,sans-serif;background:var(--bg-gradient);color:var(--text-primary);min-height:100vh}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}header{margin-bottom:3rem;display:flex;justify-content:space-between;align-items:center}h1{font-weight:800;font-size:2.5rem;background:linear-gradient(to right,#818cf8,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1.5rem;padding:2rem;box-shadow:0 8px 32px #0000005e;transition:transform .3s ease,box-shadow .3s ease}.new-job-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.new-job-form .form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.new-job-form .button-row{display:flex;justify-content:center}.new-job-form .button-row button{min-width:220px}.input-group{display:flex;flex-direction:column;gap:.5rem}label{color:var(--text-secondary);font-size:.875rem;font-weight:500}input{background:#0003;border:1px solid var(--glass-border);border-radius:.75rem;padding:.75rem 1rem;color:#fff;outline:none;transition:border-color .2s}input:focus{border-color:var(--accent-color)}button{background:var(--accent-color);color:#fff;border:none;border-radius:.75rem;padding:.75rem 2rem;font-weight:600;cursor:pointer;transition:all .2s}button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.job-list{display:flex;flex-direction:column;gap:1.5rem}.job-item{display:flex;flex-direction:column;gap:1rem}.job-header{display:flex;justify-content:space-between;align-items:center}.job-meta{display:flex;gap:1.5rem;align-items:center}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-running{background:#6366f133;color:#818cf8}.status-completed{background:#22c55e33;color:#4ade80}.status-failed{background:#ef444433;color:#f87171}.status-pending{background:#94a3b833;color:#94a3b8}.status-paused{background:#f59e0b33;color:#f59e0b}.status-cancelled{background:#6b728033;color:#9ca3af}.test-mode-container{grid-column:1 / -1;display:flex;align-items:center;gap:1.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.toggle-group{display:flex;align-items:center;gap:.75rem;cursor:pointer}.test-limit-input{width:80px;padding:.4rem .75rem;font-size:.875rem;text-align:center}.status-test{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.toggle-group{display:flex;align-items:center;gap:1rem;background:#0003;padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--glass-border)}.switch{position:relative;display:inline-block;width:40px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#334155;transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent-color)}input:checked+.slider:before{transform:translate(20px)}.paused-border{border:1px solid rgba(245,158,11,.3)!important}.progress-fill.paused{background:linear-gradient(90deg,#f59e0b,#d97706)}.job-control-actions{display:flex;gap:.5rem}.control-btn{padding:.4rem .8rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;width:auto}.control-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.control-btn.pause{color:#f59e0b;border-color:#f59e0b4d}.control-btn.resume{color:#4ade80;border-color:#22c55e4d}.control-btn.cancel{color:#f87171;border-color:#ef44444d}.icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;border-radius:4px;transition:all .2s;opacity:.6}.icon-btn:hover{background:#ffffff1a;opacity:1;transform:scale(1.1)}.icon-btn.delete:hover{background:#ef44441a;color:#f87171}.progress-bar{height:.5rem;background:#0000004d;border-radius:1rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(to right,#6366f1,#a855f7);transition:width .5s ease}.job-actions{display:flex;gap:1rem;margin-top:.5rem}.download-btn{background:transparent;border:1px solid var(--glass-border);font-size:.875rem;padding:.5rem 1rem}.download-btn:hover{background:#ffffff1a;box-shadow:none}.auth-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-gradient)}.auth-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-gradient);padding:2rem}.login-card{width:100%;max-width:400px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:3rem;margin:0 0 .5rem}.login-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.login-header p{margin:.5rem 0 0;color:var(--text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.login-field input{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0d;color:#fff;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126}.login-field input::placeholder{color:#ffffff40}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.65rem 1rem;border-radius:8px;font-size:.85rem;text-align:center}.login-btn{padding:.75rem 1.5rem;border:none;border-radius:10px;background:var(--accent-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:.5rem}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.logout-btn{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ffffff1a;color:#fff;border-color:#ffffff40}.tab-nav{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--glass-border);padding-bottom:0}.tab-btn{background:transparent;border:none;color:var(--text-secondary);padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{color:var(--text-primary);background:#ffffff08}.tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.tab-badge{background:#6366f133;color:var(--accent-color);padding:.15rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{text-align:center;padding:1.5rem 1rem}.stat-value{font-size:2rem;font-weight:800;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.members-toolbar{display:flex;flex-direction:column;gap:1rem}.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.75rem}.filter-input{background:#0003;border:1px solid var(--glass-border);border-radius:.5rem;padding:.6rem .75rem;color:#fff;font-size:.85rem;outline:none;transition:border-color .2s}.filter-input:focus{border-color:var(--accent-color)}.action-row{display:flex;justify-content:space-between;align-items:center}.action-group{display:flex;align-items:center;gap:.5rem}.export-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);padding:.4rem .75rem;border-radius:.5rem;font-size:.8rem;cursor:pointer;transition:all .2s}.export-btn:hover{background:#ffffff1a;border-color:var(--accent-color);transform:none;box-shadow:none}.enrich-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.enrich-btn:hover:not(:disabled){transform:none;box-shadow:0 2px 8px #f59e0b4d}.enrich-btn:disabled{opacity:.5;cursor:not-allowed}.members-table-wrapper{padding:1.5rem;overflow:hidden}.members-count{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.selected-count{color:var(--accent-color);font-weight:600}.table-scroll{overflow-x:auto}.members-table{width:100%;border-collapse:collapse;font-size:.85rem}.members-table th{text-align:left;padding:.75rem .5rem;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border);white-space:nowrap}.members-table td{padding:.75rem .5rem;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.members-table tbody tr:hover{background:#ffffff08}.empty-table{text-align:center;color:var(--text-secondary);padding:3rem 1rem!important}.member-name-cell{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.member-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.member-avatar.placeholder{background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.profession-tag{background:#6366f11a;color:var(--accent-color);padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-links,.social-icons,.directory-links{display:flex;gap:.35rem;flex-wrap:wrap}.contact-links a,.social-icons a,.directory-links a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;text-decoration:none;font-size:.9rem;transition:background .2s}.contact-links a:hover,.social-icons a:hover,.directory-links a:hover{background:#ffffff1a}.dir-link.maps:hover{background:#22c55e33}.dir-link.checkatrade:hover{background:#3b82f633}.dir-link.yell:hover{background:#f59e0b33}.dir-link.yelp:hover{background:#ef444433}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.pagination button{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);padding:.4rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.85rem;transition:all .2s}.pagination button:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent-color);transform:none;box-shadow:none}.pagination button:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:.85rem;color:var(--text-secondary)}@media (max-width: 1024px){.filter-row{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.filter-row{grid-template-columns:1fr}.action-row{flex-direction:column;gap:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{width:100%;max-width:800px;max-height:90vh;overflow-y:auto;padding:2rem;border-radius:1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.modal-title{display:flex;align-items:center;gap:1rem}.modal-title h2{margin:0;font-size:1.25rem;background:linear-gradient(to right,#818cf8,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-title p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.85rem}.modal-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.modal-close{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:.4rem .6rem;border-radius:.5rem;transition:all .2s}.modal-close:hover{background:#ef44441a;color:#f87171;border-color:#ef44444d;transform:none;box-shadow:none}.modal-body{margin-bottom:2rem}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-field{display:flex;flex-direction:column;gap:.3rem}.modal-field.full{grid-column:1 / -1}.modal-field label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.modal-field input{background:#0000004d;border:1px solid var(--glass-border);border-radius:.5rem;padding:.6rem .75rem;color:#fff;font-size:.85rem;outline:none;transition:border-color .2s}.modal-field input:focus{border-color:var(--accent-color)}.modal-section-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin:1.5rem 0 1rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.modal-btn{padding:.6rem 1.5rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.modal-btn.cancel{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary)}.modal-btn.cancel:hover{background:#ffffff1a;color:#fff;transform:none;box-shadow:none}.modal-btn.save{background:var(--accent-color);color:#fff}.modal-btn.save:hover:not(:disabled){opacity:.9}.modal-btn.save:disabled{opacity:.5;cursor:not-allowed}.clickable-name{cursor:pointer;transition:color .2s}.clickable-name:hover{color:var(--accent-color);text-decoration:underline}.enrich-badge{font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.enrich-pending{background:#94a3b826;color:#94a3b8}.enrich-in_progress{background:#3b82f626;color:#60a5fa}.enrich-completed{background:#22c55e26;color:#4ade80}.enrich-failed{background:#ef444426;color:#f87171}@media (max-width: 640px){.modal-content{max-height:95vh;padding:1.5rem}.modal-grid{grid-template-columns:1fr}.modal-field.full{grid-column:1}}body{margin:0;padding:0}
