@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap";:root{--brand:#ff5c00;--brand-light:#ff7a2e;--brand-bg:#ff5c0014;--surface:#fff;--surface-2:#f7f7f8;--surface-3:#efefef;--border:#e8e8ec;--text-primary:#0d0d0d;--text-secondary:#6b6b7b;--text-muted:#a0a0b0;--success:#00b87a;--success-bg:#00b87a14;--warning:#f59e0b;--danger:#ef4444;--danger-bg:#ef444414;--info:#3b82f6;--info-bg:#3b82f614;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 12px 40px #0000001f, 0 4px 12px #0000000f;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--surface-2);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}.page-wrapper{background:var(--surface-2);min-height:100vh}.container{max-width:520px;margin:0 auto;padding:0 20px}.container--wide{max-width:960px;margin:0 auto;padding:0 20px}.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;max-width:960px;height:60px;margin:0 auto;padding:0 20px;display:flex}.navbar__brand{font-family:var(--font-display);color:var(--brand);letter-spacing:-.5px;font-size:20px;font-weight:800;text-decoration:none}.navbar__brand span{color:var(--text-primary)}.navbar__actions{align-items:center;gap:10px;display:flex}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:all .18s;display:inline-flex}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-light);transform:translateY(-1px);box-shadow:0 4px 14px #ff5c0059}.btn--ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn--ghost:hover{background:var(--surface-3);color:var(--text-primary)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:#dc2626}.btn--success{background:var(--success);color:#fff}.btn--success:hover{background:#00a06b}.btn--sm{padding:6px 14px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{border-radius:100px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge--pending{color:#b45309;background:#f59e0b1f}.badge--accepted{background:var(--info-bg);color:#1d4ed8}.badge--completed{background:var(--success-bg);color:#065f46}.badge--paid{color:#6d28d9;background:#8b5cf61f}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.spinner--dark{border-color:#00000026;border-top-color:var(--text-primary)}@keyframes spin{to{transform:rotate(360deg)}}.toast{background:var(--text-primary);color:#fff;border-radius:var(--radius-sm);opacity:0;z-index:9999;white-space:nowrap;pointer-events:none;padding:12px 20px;font-size:14px;font-weight:500;transition:all .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast--success{background:var(--success)}.toast--error{background:var(--danger)}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state__icon{margin-bottom:12px;font-size:48px;display:block}.empty-state__text{font-size:15px}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input,.form-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--surface);outline:none;padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff5c001a}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B6B7B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}.error-box{background:var(--danger-bg);color:#b91c1c;border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:500}.modal-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:32px 28px;animation:.25s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:20px;font-weight:700}.home-page{background:var(--surface-2);min-height:100vh}.hero-section{background:var(--surface);border-bottom:1px solid var(--border);padding:40px 20px 32px}.hero-inner{max-width:900px;margin:0 auto}.hero-eyebrow{letter-spacing:.8px;text-transform:uppercase;color:var(--brand);background:var(--brand-bg);border-radius:100px;align-items:center;gap:6px;margin-bottom:16px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.hero-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-1px;margin-bottom:10px;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.15}.hero-title .accent{color:var(--brand)}.hero-subtitle{color:var(--text-secondary);max-width:500px;font-size:15px}.filter-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;padding:14px 20px;position:sticky;top:60px}.filter-bar__inner{scrollbar-width:none;gap:8px;max-width:900px;margin:0 auto;display:flex;overflow-x:auto}.filter-bar__inner::-webkit-scrollbar{display:none}.filter-chip{border:1.5px solid var(--border);font-family:var(--font-body);color:var(--text-secondary);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:100px;flex-shrink:0;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s}.filter-chip:hover{border-color:var(--brand);color:var(--brand)}.filter-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.workers-section{max-width:900px;margin:0 auto;padding:24px 20px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title{font-family:var(--font-display);color:var(--text-primary);font-size:18px;font-weight:700}.section-count{color:var(--text-muted);font-size:13px}.workers-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.worker-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:20px;transition:all .2s;position:relative;overflow:hidden}.worker-card:before{content:"";background:var(--brand);transform-origin:0;height:3px;transition:transform .2s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.worker-card:hover{box-shadow:var(--shadow-md);border-color:#ff5c0033;transform:translateY(-2px)}.worker-card:hover:before{transform:scaleX(1)}.worker-card__top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.worker-avatar{background:var(--brand-bg);width:48px;height:48px;font-family:var(--font-display);color:var(--brand);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.worker-availability{color:var(--success);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.worker-availability:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.worker-name{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.worker-skills{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.skill-tag{background:var(--surface-2);color:var(--text-secondary);text-transform:capitalize;border-radius:100px;padding:3px 10px;font-size:12px;font-weight:500}.worker-meta{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.worker-distance{color:var(--text-muted);align-items:center;gap:4px;font-size:13px;display:flex}.worker-rating{color:var(--text-secondary);align-items:center;gap:3px;font-size:13px;font-weight:500;display:flex}.book-btn{background:var(--brand);color:#fff;border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.book-btn:hover:not(:disabled){background:var(--brand-light);box-shadow:0 4px 14px #ff5c004d}.book-btn:disabled{opacity:.5;cursor:not-allowed}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s infinite shimmer}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);height:200px;padding:20px}.dashboard-page{background:var(--surface-2);min-height:100vh}.stats-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:20px}.stats-bar__inner{grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto;display:grid}.stat-item{text-align:center;border-radius:var(--radius-md);background:var(--surface-2);padding:12px}.stat-value{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.stat-value--brand{color:var(--brand)}.stat-value--success{color:var(--success)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.jobs-section{max-width:900px;margin:0 auto;padding:24px 20px}.jobs-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.jobs-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.3px;font-size:22px;font-weight:800}.live-badge{color:var(--success);background:var(--success-bg);border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:flex}.live-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:20px;transition:all .2s;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.job-card:hover{box-shadow:var(--shadow-md)}.job-card--accepted{border-left:3px solid #3b82f6}.job-card--completed{border-left:3px solid var(--success);opacity:.75}.job-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.job-icon{background:var(--brand-bg);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.job-service{font-family:var(--font-display);color:var(--text-primary);text-transform:capitalize;margin-bottom:3px;font-size:17px;font-weight:700}.job-meta{color:var(--text-muted);font-size:13px}.job-actions{gap:8px;margin-top:14px;display:flex}.job-btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.job-btn--accept{background:var(--brand);color:#fff}.job-btn--accept:hover{background:var(--brand-light);box-shadow:0 4px 14px #ff5c004d}.job-btn--complete{background:var(--success);color:#fff}.job-btn--complete:hover{background:#00a06b;box-shadow:0 4px 14px #00b87a4d}.conn-status{border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:flex}.conn-status--connected{color:var(--success);background:var(--success-bg)}.conn-status--disconnected{color:var(--danger);background:#ef444414}.conn-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.conn-status--connected .conn-dot{animation:2s infinite pulse}.auth-page{background:var(--surface-2);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff5c0014 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-200px;right:-200px}.auth-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff5c000d 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-150px;left:-150px}.auth-card{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1;padding:40px 36px;animation:.4s slideUp;position:relative}.auth-logo{font-family:var(--font-display);color:var(--brand);letter-spacing:-.5px;margin-bottom:4px;font-size:22px;font-weight:800}.auth-logo span{color:var(--text-primary)}.auth-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.3px;margin-bottom:4px;font-size:26px;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.auth-divider{background:var(--brand);border-radius:2px;width:40px;height:3px;margin:10px 0 24px}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);letter-spacing:.2px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--surface);outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff5c001a}.form-input::placeholder{color:var(--text-muted)}.form-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B6B7B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff5c001a}.auth-btn{background:var(--brand);color:#fff;border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:13px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.auth-btn:hover:not(:disabled){background:var(--brand-light);transform:translateY(-1px);box-shadow:0 6px 20px #ff5c004d}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-btn--secondary{background:var(--surface-3);color:var(--text-primary)}.auth-btn--secondary:hover:not(:disabled){background:var(--surface-2);box-shadow:none}.location-status{color:var(--success);background:var(--success-bg);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-size:13px;display:flex}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.auth-footer a,.auth-link{color:var(--brand);cursor:pointer;font-weight:500;text-decoration:none}.auth-footer a:hover,.auth-link:hover{text-decoration:underline}.skills-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;display:grid}.skill-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;color:var(--text-secondary);background:var(--surface);padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s}.skill-option.active{border-color:var(--brand);background:var(--brand-bg);color:var(--brand)}.skill-option:hover:not(.active){border-color:var(--text-muted);background:var(--surface-2)}.payment-page{background:var(--surface-2);min-height:100vh}.payment-section{max-width:480px;margin:0 auto;padding:32px 20px}.payment-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:28px;animation:.3s slideUp}.payment-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:800}.payment-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.job-summary{background:var(--surface-2);border-radius:var(--radius-md);margin-bottom:24px;padding:16px}.job-summary__row{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:14px;display:flex}.job-summary__row:last-child{margin-bottom:0}.job-summary__row strong{color:var(--text-primary);font-weight:600}.payment-methods-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:600}.payment-methods{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.payment-method-btn{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:14px;padding:16px 18px;transition:all .18s;display:flex}.payment-method-btn:hover,.payment-method-btn.selected{border-color:var(--brand);background:var(--brand-bg)}.payment-method-icon{flex-shrink:0;font-size:28px}.payment-method-name{font-family:var(--font-display);color:var(--text-primary);font-size:16px;font-weight:700}.payment-method-desc{color:var(--text-muted);font-size:13px}.upi-box{background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center;margin-bottom:16px;padding:20px}.upi-id{font-family:var(--font-display);color:var(--brand);letter-spacing:1px;margin-bottom:6px;font-size:20px;font-weight:700}.upi-hint{color:var(--text-muted);font-size:13px}.confirm-btn{background:var(--brand);color:#fff;border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.confirm-btn:hover:not(:disabled){background:var(--brand-light);transform:translateY(-1px);box-shadow:0 6px 20px #ff5c004d}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.paid-success{text-align:center;padding:20px 0}.paid-icon{margin-bottom:12px;font-size:56px;display:block}.paid-title{font-family:var(--font-display);color:var(--success);margin-bottom:6px;font-size:24px;font-weight:800}.paid-msg{color:var(--text-secondary);font-size:15px}.admin-page{background:var(--surface-2);min-height:100vh}.admin-stats{background:var(--surface);border-bottom:1px solid var(--border);padding:20px}.admin-stats__inner{grid-template-columns:repeat(3,1fr);gap:14px;max-width:960px;margin:0 auto;display:grid}@media (width<=600px){.admin-stats__inner{grid-template-columns:repeat(2,1fr)}}.admin-section{max-width:960px;margin:0 auto;padding:24px 20px}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:14px 16px;font-size:14px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--surface-2)}.avail-toggle{cursor:pointer;border:none;border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.avail-toggle--on{background:var(--success-bg);color:var(--success)}.avail-toggle--on:hover{background:var(--success);color:#fff}.avail-toggle--off{background:var(--danger-bg);color:var(--danger)}.avail-toggle--off:hover{background:var(--danger);color:#fff}.action-btns{gap:6px;display:flex}.admin-search{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-search .search-input-wrap{max-width:300px}.edit-field{margin-bottom:14px}.edit-label{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.tab-bar{background:var(--surface-3);border-radius:var(--radius-sm);gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tab-btn{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .15s}.tab-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.tracking-page{background:var(--surface-2);flex-direction:column;height:100vh;display:flex;overflow:hidden}.tracking-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:1000;flex-shrink:0;align-items:center;gap:12px;height:60px;padding:0 16px;display:flex;position:relative}.tracking-back{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.tracking-back:hover{background:var(--surface-3)}.tracking-bar__center{flex:1;min-width:0}.tracking-title{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;font-size:15px;font-weight:700;overflow:hidden}.tracking-subtitle{color:var(--text-muted);margin-top:1px;font-size:12px}.conn-pill{border-radius:100px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;display:flex}.conn-pill--on{background:var(--success-bg);color:var(--success)}.conn-pill--off{background:var(--danger-bg);color:var(--danger)}.conn-pill__dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.tracking-map{z-index:0;flex:1;position:relative;overflow:hidden}.tracking-map .leaflet-control-attribution{opacity:.7;font-size:10px}.tracking-map .leaflet-top.leaflet-left{top:10px}.tracking-map__loader{background:var(--surface-2);color:var(--text-muted);z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.tracking-panel{background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1000;flex-shrink:0;padding:16px 20px 20px;position:relative;box-shadow:0 -4px 20px #00000014}.tracking-legend{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.legend-item{color:var(--text-primary);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.legend-dot{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 1.5px}.legend-dot--worker{color:#ff5c00;background:#ff5c00}.legend-dot--user{color:#3b82f6;background:#3b82f6}.legend-status{color:var(--text-muted);margin-left:auto;font-size:12px}.legend-status--live{color:var(--success);font-weight:600}.tracking-distance{background:var(--brand-bg);border-radius:var(--radius-sm);align-items:baseline;gap:6px;margin-bottom:14px;padding:10px 14px;display:flex}.tracking-distance__value{font-family:var(--font-display);color:var(--brand);font-size:22px;font-weight:800}.tracking-distance__label{color:var(--text-secondary);font-size:13px}.tracking-call-btn{background:var(--success);color:#fff;border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);border:none;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:15px;font-weight:600;text-decoration:none;transition:all .18s;display:flex}.tracking-call-btn:hover{background:#00a06b;box-shadow:0 4px 14px #00b87a4d}.profile-page{background:var(--surface-2);min-height:100dvh;padding-bottom:48px}.profile-loading{min-height:60vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:14px;display:flex}.profile-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.profile-topbar__title{font-family:var(--font-display);color:var(--text-primary);font-size:16px;font-weight:700}.profile-back{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.profile-back:hover{background:var(--surface-3)}.profile-hero{background:var(--surface);text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;padding:32px 24px 28px;display:flex}.profile-avatar{width:88px;height:88px;font-family:var(--font-display);letter-spacing:-1px;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:32px;font-weight:800;display:flex;box-shadow:0 4px 20px #00000026}.profile-name{font-family:var(--font-display);color:var(--text-primary);margin:0 0 10px;font-size:24px;font-weight:800}.profile-skill-badge{background:var(--brand-bg);color:var(--brand);text-transform:capitalize;border-radius:100px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.profile-location{color:var(--text-muted);margin-bottom:14px;font-size:13px}.profile-rating-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.profile-rating-val{font-family:var(--font-display);color:var(--text-primary);font-size:20px;font-weight:800}.profile-review-count{color:var(--text-muted);font-size:13px}.profile-availability{border-radius:100px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.avail--on{background:var(--success-bg);color:var(--success)}.avail--off{background:var(--danger-bg);color:var(--danger)}.avail-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.profile-actions{background:var(--surface);border-bottom:1px solid var(--border);gap:12px;padding:16px 20px;display:flex}.profile-action-btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:15px;font-weight:700;text-decoration:none;transition:all .18s;display:flex}.profile-action-btn--call{background:var(--surface-2);color:var(--text-primary);border:1.5px solid var(--border)}.profile-action-btn--call:hover{background:var(--surface-3)}.profile-action-btn--book{background:var(--brand);color:#fff}.profile-action-btn--book:hover{opacity:.9;box-shadow:0 4px 14px #ff5c004d}.profile-action-btn--book.disabled,.profile-action-btn--book:disabled{background:var(--text-muted);cursor:not-allowed;box-shadow:none}.review-cta{background:var(--surface);border:1.5px solid var(--brand);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin:16px 20px 0;padding:14px 16px;display:flex}.review-cta__text{align-items:center;gap:10px;font-size:20px;display:flex}.review-form-card{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);margin:16px 20px 0;padding:20px}.review-form-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 4px;font-size:17px;font-weight:700}.review-form-sub{color:var(--text-muted);margin:0 0 14px;font-size:13px}.review-textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;color:var(--text-primary);font-family:var(--font-body);resize:none;box-sizing:border-box;margin-top:12px;padding:12px;font-size:14px;transition:border-color .15s}.review-textarea:focus{border-color:var(--brand);outline:none}.star-row{gap:4px;display:flex}.star{color:var(--border);font-size:28px;line-height:1;transition:color .15s,transform .1s}.star--filled{color:#f59e0b}.star--interactive{cursor:pointer}.star--interactive:hover{color:#f59e0b;transform:scale(1.2)}.reviews-section{margin:20px 20px 0}.reviews-title{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:10px;margin:0 0 14px;font-size:18px;font-weight:700;display:flex}.reviews-badge{background:var(--brand);color:#fff;border-radius:100px;padding:2px 8px;font-size:12px;font-weight:700}.reviews-empty{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:32px;font-size:14px;display:flex}.reviews-empty span{font-size:28px}.reviews-list{flex-direction:column;gap:12px;display:flex}.review-card{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);padding:16px}.review-card__header{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.review-user-avatar{background:var(--brand-bg);width:36px;height:36px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.review-user-name{color:var(--text-primary);font-size:13px;font-weight:700}.review-date{color:var(--text-muted);margin-top:2px;font-size:11px}.review-stars{margin-left:auto}.review-stars .star{font-size:16px}.review-comment{color:var(--text-secondary);border-top:1px solid var(--border);margin:0;padding-top:8px;font-size:14px;line-height:1.6}.accepted-banner{background:var(--success);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.accepted-banner button{color:var(--success);cursor:pointer;background:#fff;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:700}.worker-avatar--lg{width:56px;height:56px;font-family:var(--font-display);letter-spacing:-.5px;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;box-shadow:0 2px 10px #0000001f}
