body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}*,body{margin:0;padding:0}body{background:#f6fbf7;font-family:Segoe UI,Arial,sans-serif}.App{background:#fff;min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{background:#4caf50;box-shadow:2px 0 4px #0000001a;color:#fff;display:flex;flex-direction:column;width:250px}.sidebar-header{border-bottom:1px solid #fff3;padding:20px}.sidebar-header h1{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.sidebar-nav{flex:1 1;padding:20px 0}.sidebar-item{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:12px;padding:15px 20px;text-align:left;transition:all .3s ease;width:100%}.sidebar-item:hover{background:#ffffff1a}.sidebar-item.active{background:#fff3;border-right:4px solid #fff}.sidebar-icon{font-size:20px;text-align:center;width:24px}.sidebar-text{font-weight:500}.sidebar-footer{background:#0000001a;border-top:1px solid #fff3;padding:20px}.stats-summary{display:flex;flex-direction:column;gap:8px}.stat-item{align-items:center;display:flex;font-size:14px;justify-content:space-between}.stat-label{color:#fffc}.stat-value{background:#fff3;border-radius:12px;color:#fff;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.app-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.app-header h1{color:#1a3d2f;font-size:2rem;margin:0}.header-stats{color:#666;font-size:14px}.header-stats span{background:#e6f7ed;border-radius:4px;padding:4px 8px}.tab-navigation{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:0 20px}.tab-navigation button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;padding:15px 20px;transition:all .3s}.tab-navigation button:hover{background:#f8f9fa;color:#1a3d2f}.tab-navigation button.active{border-bottom-color:#27ae60;color:#27ae60;font-weight:600}.main-content{flex:1 1;overflow-y:auto}.dashboard,.main-content{background:#fff;padding:30px}.dashboard{border:1px solid #e8f5e8;border-radius:16px;box-shadow:0 4px 20px #00000014;color:#000}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-card{border:2px solid #4caf50;border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#000;padding:25px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 6px 20px #4caf504d;transform:translateY(-2px)}.stat-card h3{color:#666;font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:15px;text-transform:uppercase}.stat-number{color:#000;font-size:2.5rem;margin:0}.user-management{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.user-management h2{color:#1a3d2f;font-size:1.5rem;margin-bottom:20px}.users-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:transform .2s,box-shadow .2s}.user-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.user-avatar{font-size:2rem;margin-bottom:10px;text-align:center}.user-info h3{color:#1a3d2f;font-size:1.2rem;margin-bottom:5px}.user-info p{color:#666;font-size:14px;margin-bottom:5px}.assign-job-btn,.remove-job-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px;transition:background .2s}.remove-job-btn{background:#e74c3c}.remove-job-btn:hover{background:#c0392b}.assigned-job{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;font-size:14px;margin-top:10px;padding:10px}.map-section{background:#fff;border:1px solid #e8f5e8;border-radius:16px;box-shadow:0 4px 20px #00000014;color:#000;padding:30px}.map-section h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:20px}.map-container{border:2px solid #e8f5e8;border-radius:12px;box-shadow:0 4px 15px #0000001a}.modal-overlay{z-index:1000}.modal-content{border:1px solid #e8f5e8;border-radius:16px;box-shadow:0 8px 30px #0003;max-height:80vh;max-width:500px;padding:30px;position:relative;width:90%}.close-btn{background:#2e7d32;color:#fff;font-size:18px;height:35px;position:absolute;right:20px;top:15px;transition:background .2s ease;width:35px}.close-btn:hover{background:#1b5e20}.modal-content h3{color:#000;font-size:1.5rem;font-weight:600;margin-bottom:20px}.jobs-list{display:flex;flex-direction:column;gap:10px}.job-item{background:#fff;border:2px solid #e8f5e8;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s ease}.job-item:hover{background:#f8f9fa;border-color:#4caf50;box-shadow:0 4px 15px #4caf5033;transform:translateY(-2px)}.job-header h4{color:#000;font-size:1.2rem;font-weight:600;margin:0}.job-pay{color:#000;font-size:1.1rem;font-weight:700}.job-description{color:#000;font-size:14px;margin-bottom:10px}.job-details{align-items:center;justify-content:space-between}.job-location{color:#666}.job-urgency{border-radius:12px;font-size:10px;font-weight:700;padding:2px 8px;text-transform:uppercase}.job-urgency.high{background:#ffebee;color:#c62828}.job-urgency.medium{background:#fff3e0;color:#ef6c00}.job-urgency.low{background:#e8f5e8;color:#2e7d32}.dashboard-container,body{background:#f6fbf7;font-family:Segoe UI,Arial,sans-serif;margin:0;padding:0}.dashboard-container{margin:0 auto;max-width:900px;padding:32px 16px}.dashboard-header h1{color:#1a3d2f;font-size:2.2rem;font-weight:700;margin:0 0 4px}.dashboard-header p{color:#6b8e7c;margin-bottom:24px}.dashboard-search-row{display:flex;gap:8px;margin-bottom:24px}.dashboard-search{border:1px solid #dbeee2;border-radius:8px;flex:1 1;font-size:1rem;padding:10px 14px}.dashboard-filter-btn{background:#e6f7ed;border:none;border-radius:8px;cursor:pointer;font-size:1.2rem;padding:0 16px;transition:background .2s}.dashboard-filter-btn:hover{background:#c6f2d8}.dashboard-stats{display:flex;gap:18px;margin-bottom:28px}.stat-card{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 2px 12px 0 #e2f5e9;display:flex;flex:1 1;flex-direction:column;min-width:120px;padding:18px 12px 14px 18px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 24px 0 #b6e7c7}.stat-icon{font-size:1.7rem;margin-bottom:6px}.stat-value{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;color:#27ae60;font-size:2rem;font-weight:700;margin-bottom:2px}.stat-label{color:#6b8e7c;font-size:1rem}.stat-orange .stat-value{color:#f39c12}.stat-orange .stat-value,.stat-red .stat-value{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset}.stat-red .stat-value{color:#e74c3c}.tab-btns-flex{background:none;box-shadow:none;justify-content:space-between;margin-bottom:24px}.tab-btns-flex,.tab-btns-flex button{align-items:center;display:flex;gap:0}.tab-btns-flex button{background:#e6f7ed;border:none;border-radius:8px;color:#1a3d2f;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;justify-content:center;margin:0 12px;max-width:300px;min-width:200px;padding:12px 18px;transition:background .2s,color .2s,box-shadow .2s,transform .18s}.tab-btns-flex .tab-btn-left{justify-content:flex-start;margin-left:0}.tab-btns-flex .tab-btn-center,.tab-btns-flex .tab-btn-right{justify-content:center}.tab-btns-flex button.active{background:#27ae60;box-shadow:0 2px 8px 0 #b6e7c7;color:#fff}.tab-btns-flex button:not(.active):hover{background:#d2f5e3;color:#1a3d2f}.tab-btn-content{align-items:center;display:flex;font-size:1rem;gap:8px;justify-content:center;width:100%}.tab-content-area{margin-top:0}.tab-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px 0 #e2f5e9;margin-bottom:24px;padding:24px 18px}.user-card{align-items:center;background:#f6fbf7;border-radius:12px;margin-bottom:14px;padding:14px 16px}.segmented,.user-card{box-shadow:0 1px 4px 0 #e2f5e9;display:flex}.segmented{background:#e6f7ed;border-radius:10px;gap:0;margin-bottom:24px;padding:4px}.segmented button{align-items:center;background:#0000;border:none;border-radius:8px;color:#1a3d2f;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:6px;margin:0 2px;padding:10px 22px;transition:background .2s,color .2s}.segmented button.active{background:linear-gradient(90deg,#2ecc40,#27ae60);box-shadow:0 2px 8px 0 #b6e7c7;color:#fff}.segmented button:not(.active):hover{background:#d2f5e3;color:#1a3d2f}.payment-status{border-radius:6px;display:inline-block;font-size:.92rem;font-weight:500;margin-top:4px;padding:2px 12px}.payment-status.completed{background:#27ae60;color:#fff}.payment-status.pending{background:#f39c12;color:#fff}.pending-registrations{background:#fff;border-radius:16px;box-shadow:0 2px 12px 0 #e2f5e9;padding:24px 18px}.pending-registrations h2{color:#1a3d2f;margin-top:0}.pending-registrations p{color:#6b8e7c;margin-bottom:18px}.pending-user-card{align-items:center;background:#f6fbf7;border-radius:12px;box-shadow:0 1px 4px 0 #e2f5e9;display:flex;margin-bottom:14px;padding:14px 16px}.user-avatar{border:2px solid #2ecc40;border-radius:50%;height:54px;margin-right:18px;width:54px}.user-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.user-name{color:#1a3d2f;font-size:1.1rem;font-weight:600}.user-email{color:#6b8e7c;font-size:.97rem}.user-role{background:#27ae60;border-radius:6px;color:#fff;display:inline-block;font-size:.92rem;margin-right:8px;margin-top:4px;max-width:50%;min-width:70px;overflow:hidden;padding:2px 10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.user-cnic{color:#888;font-size:.92rem;margin-top:2px}.user-actions{display:flex;gap:10px}.approve-btn,.reject-btn,.view-btn{align-items:center;border:none;border-radius:5px;box-shadow:0 1px 4px 0 #e2f5e9;display:flex;font-size:.93rem;font-weight:500;gap:5px;justify-content:center;min-width:90px;padding:5px 12px;transition:background .18s,color .18s,box-shadow .18s,transform .15s}.view-btn{background:#e3f0fb;border:none;color:#1976d2}.view-btn:hover{background:#b3e5fc;box-shadow:0 2px 8px 0 #b6e7c7;color:#125ea2}.approve-btn{background:#27ae60}.approve-btn:hover{background:#219150;box-shadow:0 2px 8px 0 #b6e7c7;color:#fff}.reject-btn{background:#e74c3c}.reject-btn:hover{background:#c0392b;box-shadow:0 2px 8px 0 #ffd6d6;color:#fff}.fade-in{animation:fadeInUp .7s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateY(20px)}@keyframes fadeInUp{to{opacity:1;transform:none}}.glow-green{animation:none!important;filter:none!important}.approve-btn,.dashboard-tabs button,.reject-btn,.view-btn{transition:background .2s,color .2s,box-shadow .2s,transform .18s}.approve-btn:hover,.dashboard-tabs button:hover,.reject-btn:hover,.view-btn:hover{transform:translateY(-2px) scale(1.04)}.tab-section-separator{align-items:center;display:flex;justify-content:center;margin:32px 0;position:relative}.tab-section-separator:after,.tab-section-separator:before{background:#27ae60;content:"";flex:1 1;height:2px;opacity:.5}.separator-icon{animation:separatorPulse 1.8s infinite alternate;background:#fff;border-radius:50%;box-shadow:0 2px 8px 0 #e2f5e9;color:#27ae60;display:inline-block;font-size:1.5rem;margin:0 18px;padding:4px 10px;position:relative;z-index:1}@keyframes separatorPulse{0%{box-shadow:0 2px 8px 0 #e2f5e9}to{box-shadow:0 4px 16px 0 #b6e7c7}}.pending-user-card .user-actions-vertical{align-items:flex-start;display:flex;flex-direction:row;gap:10px}.pending-user-card .user-actions-row{align-items:center;display:flex;flex-direction:row}.pending-user-card .user-actions-col{display:flex;flex-direction:column;gap:6px}.job-approval-card{align-items:center;background:#f7fafc;border-radius:18px;box-shadow:0 2px 8px #3c3c3c0f;display:flex;margin-bottom:22px;padding:18px 24px;transition:box-shadow .2s}.job-approval-card:hover{box-shadow:0 4px 16px #3c3c3c1f}.job-info{align-items:center;display:flex;flex:1 1}.job-image{border:2px solid #e0e0e0;border-radius:50%;height:64px;margin-right:20px;width:64px}.job-title{color:#222;font-size:1.15rem;font-weight:600;margin-bottom:2px}.job-date,.job-location,.job-poster{color:#666;font-size:.97rem;margin-bottom:2px}.job-description{color:#444;font-size:.98rem;margin-bottom:2px}.job-requirements,.job-salary{color:#555;font-size:.95rem;margin-bottom:2px}.job-salary{color:#059669;font-weight:500}.job-requirements{color:#7c3aed;font-weight:500}.job-description-ur{color:#059669;font-size:.95rem;font-style:italic;font-weight:500;margin-bottom:2px}.job-status{background:#fef3c7;border-radius:6px;color:#f59e0b;display:inline-block;font-size:.9rem;margin-top:8px}.job-actions{display:flex;flex-direction:column;gap:8px;margin-left:32px}.job-actions .approve-btn{background:#22c55e;border:none;border-radius:7px;color:#fff;cursor:pointer;font-weight:500;padding:7px 18px;transition:background .15s}.job-actions .approve-btn:hover{background:#16a34a}.job-actions .reject-btn{background:#ef4444;border:none;border-radius:7px;color:#fff;cursor:pointer;font-weight:500;padding:7px 18px;transition:background .15s}.job-actions .reject-btn:hover{background:#b91c1c}@media (max-width:900px){.dashboard-stats,.tab-btns-flex{flex-direction:column;gap:12px}.tab-btns-flex button{margin:0;max-width:none;min-width:0;min-width:auto;width:100%}}@media (max-width:700px){.job-approval-card{padding:14px 10px}.job-approval-card,.job-info{align-items:flex-start;flex-direction:column}.job-actions{flex-direction:row;margin-left:0;margin-top:10px}}.dashboard h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:25px}.payments-management,.workers-management{background:#fff;border:1px solid #e8f5e8;border-radius:16px;box-shadow:0 4px 20px #00000014;color:#000;padding:30px}.workers-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:20px}.worker-circle-card{align-items:center;background:#f8f9fa;border:2px solid #e8f5e8;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:15px;transition:all .3s ease}.worker-circle-card:hover{background:#f0f9ff;border-color:#4caf50;box-shadow:0 8px 25px #4caf5033;transform:translateY(-5px)}.worker-circle-card.pending{border-left:4px solid #ff9800}.worker-circle-avatar{border:3px solid #4caf50;border-radius:50%;box-shadow:0 4px 15px #0000001a;height:80px;overflow:hidden;transition:all .3s ease;width:80px}.worker-circle-avatar img{height:100%;object-fit:cover;width:100%}.worker-circle-card:hover .worker-circle-avatar{border-color:#2e7d32;box-shadow:0 6px 20px #4caf504d;transform:scale(1.1)}.payments-management h2,.workers-management h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:25px}.payments-tabs,.workers-tabs{border-bottom:2px solid #e8f5e8;display:flex;gap:10px;margin-bottom:25px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#000;cursor:pointer;font-size:16px;padding:12px 20px;transition:all .3s ease}.tab-btn.active{border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.tab-btn:hover{color:#4caf50}.workers-list{display:flex;flex-direction:column;gap:20px}.worker-card{align-items:center;border:2px solid #e8f5e8;display:flex;gap:20px;padding:20px;transition:all .3s ease}.worker-card:hover{box-shadow:0 4px 15px #4caf501a}.worker-card.pending{border-left:4px solid #ff9800}.worker-avatar{align-items:center;background:#f8f9fa;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.worker-info h3{color:#000;font-size:1.3rem}.worker-info p{color:#000;font-size:14px;margin:4px 0}.worker-actions{display:flex;gap:10px;margin-top:15px}.approve-btn,.reject-btn,.view-profile-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.view-profile-btn{background:#2196f3;color:#fff}.view-profile-btn:hover{background:#1976d2}.approve-btn{background:#4caf50;color:#fff}.approve-btn:hover{background:#45a049}.reject-btn{background:#f44336;color:#fff}.reject-btn:hover{background:#d32f2f}.payment-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.summary-card{background:#f8f9fa;border:2px solid #e8f5e8;border-radius:12px;padding:20px;text-align:center}.summary-card h3{color:#000;font-size:14px;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.summary-card .amount{color:#000;font-size:1.8rem;font-weight:700;margin:0}.payments-list{display:flex;flex-direction:column;gap:15px}.payment-item{align-items:center;background:#fff;border:2px solid #e8f5e8;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.payment-item:hover{border-color:#4caf50;box-shadow:0 4px 15px #4caf501a}.payment-info h4{color:#000;font-size:1.1rem;font-weight:600;margin:0 0 8px}.payment-info p{color:#000;font-size:14px;margin:4px 0}.payment-amount{text-align:right}.payment-amount .amount{color:#000;display:block;font-size:1.2rem;font-weight:700;margin-bottom:5px}.status{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status.active{background:#e8f5e8;color:#2e7d32}.status.inactive{background:#ffebee;color:#d32f2f}.job-item,.stat-card,button{transition:all .3s ease}.sidebar-item:focus,button:focus{outline:2px solid #4caf50;outline-offset:2px}@media (max-width:768px){.app-layout{flex-direction:column}.sidebar{height:auto;width:100%}.sidebar-nav{display:flex;padding:0}.sidebar-item{flex:1 1;justify-content:center;padding:15px 10px}.sidebar-text{display:none}.sidebar-icon{font-size:24px}.sidebar-footer{display:none}.main-content{padding:15px}.stats-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.users-grid{grid-template-columns:1fr}}.static-map-container{align-items:center;background:url(https://maps.googleapis.com/maps/api/staticmap?center=Pakistan&zoom=6&size=600x350&maptype=roadmap&markers=color:red|33.6844,73.0479|33.6007,73.0679|24.8607,67.0011|24.9207,67.0211&key=AIzaSyA9mpr93lyWxvRoju82o43YIqxC_cJCaIY) 50%/cover no-repeat;border-radius:12px;color:#fff;display:flex;flex-direction:column;font-size:16px;height:100%;justify-content:center;overflow:hidden;padding:20px;position:relative;width:100%}.map-overlay{background:#0003;bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.map-content{position:relative;text-align:center;z-index:2}.map-icon{font-size:48px;margin-bottom:16px;text-shadow:2px 2px 4px #000c}.map-title{background:#0009;border-radius:20px;display:inline-block;font-size:18px;font-weight:600;margin-bottom:8px;padding:8px 16px}.map-subtitle{background:#00000080;border-radius:15px;display:inline-block;font-size:14px;margin-bottom:20px;opacity:.9;padding:4px 12px}.no-workers-message{background:#ffffff1a;border:2px dashed #ffffff4d;padding:40px}.celebration-icon{font-size:24px;margin-bottom:12px}.no-workers-title{font-size:16px;font-weight:600}.no-workers-subtitle{font-size:14px;margin-top:8px;opacity:.8}.workers-container{height:200px;position:relative;width:100%}.worker-marker{align-items:center;background:#fffffffa;border:4px solid #27ae60;border-radius:50%;box-shadow:0 6px 20px #00000080;color:#333;display:flex;flex-direction:column;font-size:12px;height:90px;justify-content:center;text-align:center;transition:all .3s;width:90px;z-index:3}.worker-marker:hover{background:#fff;border-color:#2ecc71;box-shadow:0 8px 25px #0009;transform:scale(1.15)}.worker-avatar{font-size:20px;margin-bottom:2px}.worker-name{font-size:10px;font-weight:600;margin-bottom:1px}.worker-role{font-size:8px;margin-bottom:1px;opacity:.8}.worker-rating{color:#27ae60;font-size:7px;margin-bottom:1px}.worker-location{color:#666;font-size:6px;line-height:1.2;text-align:center}.user-details{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:8px}.job-assignment-instruction{color:#444;font-size:14px;margin-bottom:16px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.notification{animation:slideInRight .3s ease-out}.notification.fade-out{animation:slideOutRight .3s ease-in}.job-approval-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:20px;transition:all .3s ease}.job-approval-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.job-actions button{transition:all .2s ease}.job-actions button:hover:not(:disabled){box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.job-actions button:active:not(:disabled){transform:translateY(0)}.modal-overlay{animation:fadeIn .3s ease-out}.modal-content{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.realtime-map-container{border-radius:12px;box-shadow:0 4px 20px #0000001a;height:100%;overflow:hidden;position:relative;width:100%}.marker-label{background:#fffffff2!important;border:2px solid #4caf50!important;border-radius:8px!important;box-shadow:0 2px 8px #00000026!important;color:#333!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important;font-size:12px!important;font-weight:600!important;margin-top:5px!important;max-width:100px!important;min-width:60px!important;overflow:hidden!important;padding:4px 8px!important;text-align:center!important;text-overflow:ellipsis!important;text-shadow:0 1px 2px #fffc!important;white-space:nowrap!important}.gm-style div,.gm-style img{border-radius:0!important}.create-worker-container{margin:0 auto;max-width:1200px;padding:20px}.create-worker-header{margin-bottom:30px;text-align:center}.create-worker-header h2{color:#1f2937;font-size:28px;margin-bottom:10px}.create-worker-header p{color:#6b7280;font-size:16px}.create-worker-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:30px}.form-section{border-bottom:1px solid #e5e7eb;margin-bottom:30px;padding-bottom:20px}.form-section:last-child{border-bottom:none}.form-section h3{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:20px}.form-row{grid-gap:20px;gap:20px;margin-bottom:20px}.form-group label{color:#374151;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #4caf501a}.categories-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.category-checkbox{align-items:center;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;padding:10px;transition:all .3s ease}.category-checkbox:hover{background-color:#f0f9ff;border-color:#4caf50}.category-checkbox input[type=checkbox]{margin-right:10px;transform:scale(1.2)}.category-checkbox input[type=checkbox]:checked+span{color:#4caf50;font-weight:600}.file-upload-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.file-upload-group{display:flex;flex-direction:column}.file-upload-group input[type=file]{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:10px;transition:all .3s ease}.file-upload-group input[type=file]:hover{background-color:#f0f9ff;border-color:#4caf50}.file-preview{margin-top:10px;text-align:center}.file-preview img{border:2px solid #e5e7eb;border-radius:8px}.form-actions{margin-top:30px;text-align:center}.submit-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:200px;padding:15px 40px;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.error-message,.success-message{align-items:center;border-radius:8px;display:flex;font-weight:500;margin-bottom:20px;padding:15px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.error-message span,.success-message span{font-size:18px;margin-right:10px}@media (max-width:768px){.categories-grid,.file-upload-row,.form-row{grid-template-columns:1fr}.create-worker-form{padding:20px}}.map-controls{min-width:200px;right:10px;top:10px}.map-controls h4{color:#333}.map-controls button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-bottom:5px;margin-right:5px;padding:8px 12px;transition:all .2s ease}.map-controls button:hover{background:#45a049;transform:translateY(-1px)}.map-controls button:nth-child(2){background:#2196f3}.map-controls button:nth-child(2):hover{background:#1976d2}.map-controls button:nth-child(3){background:#ff9800}.map-controls button:nth-child(3):hover{background:#f57c00}.map-legend{bottom:10px;left:10px;min-width:150px}.map-legend h4{color:#333}.realtime-notification{animation:slideInRight .3s ease-out;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:300px;position:fixed;right:20px;top:20px;z-index:3000}.notification-header{align-items:center;background:#4caf50;border-radius:8px 8px 0 0;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;padding:10px 15px}.notification-content{padding:10px}.notification-item{border-bottom:1px solid #eee;font-size:12px;padding:8px 0}.notification-item:last-child{border-bottom:none}.notification-title{color:#333;font-weight:700;margin-bottom:4px}.notification-message{color:#666;margin-bottom:4px}.notification-time{color:#999;font-size:10px}@keyframes markerPulse{0%{box-shadow:0 0 0 0 #4caf50b3;transform:scale(1)}70%{box-shadow:0 0 0 10px #4caf5000;transform:scale(1.05)}to{box-shadow:0 0 0 0 #4caf5000;transform:scale(1)}}.marker-pulse{animation:markerPulse 2s infinite}.map-loading{background:#f8f9fa;color:#666}.map-error,.map-loading{align-items:center;border-radius:12px;display:flex;font-size:18px;height:500px;justify-content:center}.map-error{background:#fdf2f2;border:2px solid #fecaca;color:#e74c3c}.worker-details-modal{max-width:800px}.worker-details-header{border-bottom:2px solid #e8f5e8;margin-bottom:25px;padding-bottom:20px}.worker-profile-section{gap:20px}.worker-detail-avatar{border:4px solid #4caf50;box-shadow:0 4px 15px #0000001a;height:100px;width:100px}.worker-basic-info h3{font-size:1.8rem;margin:0 0 8px}.worker-role{color:#4caf50;font-size:1.1rem;font-weight:600;margin:0 0 5px}.worker-location{color:#6b7280;font-size:1rem;margin:0 0 8px}.worker-rating{color:#f59e0b;font-size:1rem;font-weight:600}.worker-details-section{background:#f8f9fa;border:1px solid #e8f5e8;border-radius:12px;margin-bottom:25px;padding:20px}.worker-details-section h4{border-bottom:2px solid #4caf50;color:#1f2937;font-size:1.2rem;font-weight:600;margin:0 0 15px;padding-bottom:8px}.detail-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.detail-label{color:#374151;font-size:.95rem;min-width:120px}.detail-value{color:#1f2937;font-size:.95rem}.address-container{align-items:center;display:flex;flex:1 1;gap:8px}.refresh-address-btn{align-items:center;background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;min-width:32px;padding:4px 8px;transition:background-color .2s ease}.refresh-address-btn:hover{background:#45a049}.refresh-address-btn:active{transform:scale(.95)}.skills-list{gap:8px;margin-top:5px}.skill-tag{border-radius:20px;font-size:.85rem;padding:4px 12px}.available-jobs-section{margin-top:25px}.available-jobs-section h4{border-bottom:2px solid #4caf50;color:#1f2937;font-size:1.2rem;padding-bottom:8px}.no-jobs-message{background:#f8f9fa;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:40px 20px;text-align:center}.no-jobs-message p{font-size:1rem;margin:5px 0}@media (max-width:768px){.map-controls{margin-bottom:10px;right:auto;top:auto}.map-controls,.map-legend{position:relative;width:100%}.map-legend{bottom:auto;left:auto;margin-top:10px}.realtime-notification{left:10px;max-width:none;right:10px}.worker-profile-section{flex-direction:column;text-align:center}.workers-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.worker-circle-avatar{height:70px;width:70px}}.skilled-workers-container{margin:0 auto;max-width:1400px;padding:20px}.skilled-workers-header{margin-bottom:30px}.skilled-workers-header h2{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:8px}.skilled-workers-header p{color:#6b7280;font-size:1.1rem}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{border:4px solid #f3f4f6;margin-bottom:16px}.workers-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.search-box{flex:1 1;min-width:300px}.search-input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.filter-controls{display:flex;gap:12px}.filter-select,.sort-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.filter-select:focus,.sort-select:focus{border-color:#4caf50;outline:none}.workers-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.workers-stats .stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;text-align:center}.workers-stats .stat-card h3{color:#6b7280;font-size:1rem;font-weight:600;margin-bottom:8px}.workers-stats .stat-card .stat-number{color:#1f2937;font-size:2rem;font-weight:700}.workers-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.worker-card{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.worker-card:hover{border-color:#4caf50;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.worker-card-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;padding:20px}.worker-avatar{flex-shrink:0;margin-right:16px}.worker-avatar img{object-fit:cover}.avatar-placeholder,.worker-avatar img{border:2px solid #e5e7eb;border-radius:50%;height:60px;width:60px}.avatar-placeholder{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:1.5rem;font-weight:600;justify-content:center}.worker-basic-info{flex:1 1;min-width:0}.worker-basic-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-role{color:#6b7280;font-size:.95rem;margin-bottom:4px}.worker-location{color:#9ca3af;font-size:.9rem}.worker-status{flex-shrink:0}.status-badge{font-size:.8rem;padding:4px 12px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.working{background:#dbeafe;color:#1e40af}.status-badge.available{background:#d1fae5;color:#065f46}.status-badge.pending,.status-badge.pending_approval{background:#fef3c7;color:#92400e}.status-badge.admin-created{background:#e0e7ff;color:#3730a3}.worker-rate{color:#059669;font-size:.95rem;font-weight:600;margin-bottom:4px}.worker-age,.worker-availability{color:#6b7280;font-size:.95rem;margin-bottom:12px}.category-tag,.worker-availability{font-weight:500}.category-tag{background:#3b82f6;border-radius:16px;color:#fff;font-size:.8rem;padding:4px 10px}.worker-card-body{padding:20px}.worker-experience,.worker-rating{color:#6b7280;font-size:.95rem;margin-bottom:12px}.worker-skills{margin-top:12px}.skills-preview{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{background:#4caf50;border-radius:16px;color:#fff;font-size:.8rem;padding:4px 10px}.more-skills{color:#6b7280;font-size:.8rem;font-style:italic}.no-skills{color:#9ca3af;font-size:.9rem}.worker-card-actions{align-items:center;background:#f8f9fa;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:20px}.click-hint{color:#6b7280;font-size:.9rem;font-style:italic;margin:0;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:600;padding:8px 16px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#45a049}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-info{background:#0ea5e9;color:#fff}.btn-info:hover{background:#0284c7}.no-workers-message{background:#f8f9fa;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;grid-column:1/-1;padding:60px 20px;text-align:center}.no-workers-message p{font-size:1.1rem;margin:0}.worker-details-modal{max-height:90vh;max-width:600px;overflow-y:auto}.worker-detail-avatar{border:3px solid #e5e7eb;border-radius:50%;height:80px;object-fit:cover;width:80px}.worker-detail-avatar.avatar-placeholder{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:2rem;font-weight:600;justify-content:center}.modal-actions{border-top:1px solid #e5e7eb;gap:12px;padding-top:20px}@media (max-width:768px){.workers-controls{align-items:stretch;flex-direction:column}.search-box{min-width:auto}.filter-controls{justify-content:space-between}.workers-grid{grid-template-columns:1fr}.worker-card-actions{align-items:stretch;flex-direction:column}.action-buttons{justify-content:center}.modal-actions{flex-direction:column}}.map-modal{max-height:90vh;max-width:800px;overflow-y:auto}.map-header{border-bottom:2px solid #e5e7eb;margin-bottom:20px;padding-bottom:15px}.map-container{border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.no-location-message{background:#f8f9fa;border:2px dashed #d1d5db;border-radius:8px;padding:60px 20px;text-align:center}.no-location-message p{color:#6b7280;font-size:1rem;margin-bottom:10px}.map-info{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.location-details h4{border-bottom:2px solid #4caf50;color:#1f2937;font-size:1.2rem;font-weight:600;margin-bottom:15px;padding-bottom:8px}.location-details .detail-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.location-details .detail-row:last-child{border-bottom:none}.location-details .detail-label{color:#374151;font-size:.95rem;font-weight:600;min-width:140px}.location-details .detail-value{color:#1f2937;flex:1 1;font-size:.95rem;margin-left:10px;text-align:right}.worker-card-actions .action-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.worker-card-actions .action-buttons .btn{flex:1 1;font-size:.85rem;min-width:120px;padding:8px 12px}.header-content{flex-wrap:wrap;gap:20px}.map-toggle-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.map-toggle-btn:hover{background:#45a049;transform:translateY(-2px)}.map-toggle-btn.active{background:#f59e0b}.map-toggle-btn.active:hover{background:#d97706}.map-view-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:20px;overflow:hidden}.map-header{background:#f8f9fa;border-bottom:1px solid #e5e7eb;text-align:center}.map-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:8px}.map-header p{color:#6b7280;font-size:1rem}.map-container{background:#e5e7eb;height:500px;overflow:hidden}.map-wrapper{background:linear-gradient(135deg,#e0f2fe,#f0f9ff)}.map-wrapper,.workers-map{height:100%;position:relative;width:100%}.workers-map{background-image:radial-gradient(circle at 20% 20%,#4caf501a 0,#0000 50%),radial-gradient(circle at 80% 80%,#2196f31a 0,#0000 50%),radial-gradient(circle at 40% 60%,#ffc1071a 0,#0000 50%)}.worker-marker{position:absolute;transition:all .3s ease}.worker-marker:hover{transform:translate(-50%,-50%) scale(1.1);z-index:20}.marker-avatar{background:#4caf50;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 8px #0003;height:50px;overflow:hidden;position:relative;width:50px}.marker-image{height:100%;object-fit:cover;width:100%}.marker-placeholder{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:1.2rem;font-weight:600;height:100%;justify-content:center;width:100%}.marker-info{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;min-width:120px;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;text-align:center;top:60px;transform:translateX(-50%);transition:opacity .3s ease}.worker-marker:hover .marker-info{opacity:1}.marker-name{color:#1f2937;font-size:.9rem;font-weight:600;margin-bottom:2px}.marker-category{color:#6b7280;font-size:.8rem;margin-bottom:2px}.marker-rating{color:#f59e0b;font-size:.8rem;font-weight:600}.no-location-workers{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-location-workers p{font-size:1.1rem;margin:5px 0}.workers-grid-fallback{height:100%;min-height:300px;position:relative;width:100%}.grid-marker{opacity:.8}.grid-marker:hover{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.location-marker .marker-avatar{border:3px solid #10b981}.grid-marker .marker-avatar{border:3px solid #6b7280;opacity:.8}.marker-status{color:#6b7280;font-size:.7rem;font-weight:500;margin-top:2px}.location-marker .marker-status{color:#10b981}.grid-marker .marker-status{color:#6b7280}.marker-availability{color:#10b981;font-size:.6rem;font-weight:500;margin-top:1px}.map-legend{background:#f8f9fa;border-top:1px solid #e5e7eb;padding:20px}.map-legend h4{color:#1f2937;font-size:1.2rem;margin-bottom:15px;text-align:center}.legend-items{display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.legend-item{color:#6b7280;font-size:.9rem;gap:8px}.legend-avatar{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:.8rem;font-weight:600;height:30px;justify-content:center;width:30px}.legend-avatar,.legend-status{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a}.legend-status{height:20px;width:20px}.legend-status.available{background:#10b981}.legend-status.working{background:#3b82f6}.legend-status.location{background:#4ecdc4}.legend-status.city{background:#ffe66d}.form-help-text{color:#6b7280;font-size:.875rem;font-style:italic;margin:.25rem 0 .75rem}.admin-created-notice{align-items:center;background:#e8f5e8;border:1px solid #4caf50;border-radius:8px;display:flex;gap:8px;margin-top:12px;padding:12px 16px}.notice-icon{font-size:18px}.notice-text{color:#2e7d32;font-size:14px;font-weight:500}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column}.map-container{height:400px}.legend-items{flex-direction:column;gap:15px}.marker-info{font-size:.8rem;min-width:100px}}.map-view{background:#f8f9fa;display:flex;flex-direction:column;height:100vh;width:100%}.map-header{background:#fff;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000001a;padding:20px}.header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.header-content h2{color:#495057;font-size:24px;font-weight:600;margin:0 0 8px}.header-content p{color:#6c757d;font-size:14px;margin:0}.header-stats{display:flex;gap:20px}.stat-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:10px 15px;text-align:center}.stat-number{color:#4caf50;display:block;font-size:20px;font-weight:700;margin-bottom:4px}.stat-label{color:#6c757d;display:block;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.header-instructions{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;padding:10px 15px}.header-instructions p{color:#1976d2;font-size:13px;font-weight:500;margin:0}.map{border-radius:8px;height:100%}.map,.map-container{min-height:500px;width:100%}.map-container{flex:1 1;position:relative}.gm-style-iw{max-width:300px!important}.gm-style-iw-d{overflow:hidden!important}.job-details-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.job-details-content{display:flex;gap:20px;padding:20px}.job-image-section{flex:0 0 300px}.job-image{border:1px solid #ddd;border-radius:8px;height:200px;object-fit:cover;width:100%}.job-info-section{flex:1 1}.job-service-type{color:#666;font-size:14px;font-style:italic;margin:5px 0 15px}.job-details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.detail-item{flex-direction:column;gap:5px}.detail-label{color:#333}.detail-value{color:#666}.status-badge{border-radius:12px;display:inline-block;font-weight:500;padding:4px 8px}.status-badge.approved{background-color:#e8f5e8;color:#2e7d32}.status-badge.pending{background-color:#fff3e0}.status-badge.rejected{background-color:#ffebee;color:#c62828}.job-description{background-color:#f8f9fa;border-left:4px solid #2196f3;border-radius:8px;margin-top:20px;padding:15px}.job-description h4{color:#333;font-size:16px;margin:0 0 10px}.job-description p{color:#666;line-height:1.5;margin:0}@media (max-width:768px){.job-details-content{flex-direction:column}.job-image-section{flex:none}.job-details-grid{grid-template-columns:1fr}}.map-content{flex:1 1;min-height:500px;width:100%}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666}.cancel-btn:hover{background:#e0e0e0}.assign-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.assign-btn:hover{background:#45a049}.job-assignment-modal{max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.job-assignment-content{padding:20px}.job-summary{background:#f8f9fa;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:20px;padding:15px}.job-summary h3{color:#333;margin:0 0 10px}.job-summary p{color:#666;margin:5px 0}.worker-selection{margin-bottom:20px}.worker-selection h4{color:#333;margin:0 0 10px}.worker-select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.selected-worker-details{margin-bottom:20px}.selected-worker-details .worker-card{background:#e8f5e8;border:1px solid #4caf50}.worker-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:12px;transition:box-shadow .2s ease}.worker-card .worker-info{align-items:flex-start;display:flex;gap:12px}.worker-card .worker-avatar{flex-shrink:0}.worker-card .worker-avatar img{border:2px solid #4caf50;border-radius:50%;height:60px;object-fit:cover;width:60px}.worker-card .worker-details h5{color:#333;font-size:16px;margin:0 0 5px}.worker-card .worker-details p{color:#666;font-size:13px;margin:2px 0}.assignment-notes{margin-bottom:20px}.assignment-notes h4{color:#333;margin:0 0 10px}.notes-textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;min-height:80px;padding:10px;resize:vertical;width:100%}.worker-marker{cursor:pointer;transition:transform .2s ease}.worker-marker:hover{transform:scale(1.1)}.map-controls{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;min-width:150px;padding:15px;position:absolute;right:20px;top:20px;z-index:1000}.map-controls h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 10px}.control-btn{border:none;border-radius:4px;cursor:pointer;display:block;font-size:12px;font-weight:500;margin-bottom:8px;padding:8px 12px;transition:all .2s ease;width:100%}.control-btn:last-child{margin-bottom:0}.reset-btn{background:#4caf50;color:#fff}.reset-btn:hover{background:#45a049}.zoom-in-btn{background:#2196f3;color:#fff}.zoom-in-btn:hover{background:#1976d2}.zoom-out-btn{background:#ff9800;color:#fff}.zoom-out-btn:hover{background:#f57c00}.map-legend{background:#fff;border-radius:8px;bottom:20px;box-shadow:0 2px 10px #0000001a;left:20px;padding:15px;position:absolute;z-index:1000}.map-legend h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 10px}.legend-item{align-items:center;color:#6c757d;display:flex;font-size:12px;margin-bottom:5px}.legend-item:last-child{margin-bottom:0}.legend-color{border-radius:50%;height:12px;margin-right:8px;width:12px}.legend-color.available{background:#4caf50}.legend-color.assigned{background:#f44}.map-error,.map-loading{align-items:center;background:#fff;border-radius:8px;display:flex;flex:1 1;justify-content:center;margin:20px}.error-content,.loading-content{padding:40px;text-align:center}.error-icon,.loading-icon{font-size:48px;margin-bottom:20px}.error-content h3,.loading-content h3{color:#495057;font-size:20px;margin:0 0 10px}.error-content p,.loading-content p{color:#6c757d;font-size:14px;margin:0}.loading-spinner{margin-bottom:20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-details{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:20px;padding:15px;text-align:left}.loading-details p{color:#6c757d;font-size:13px;margin:5px 0}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.worker-details-modal{padding:0}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#495057;font-size:20px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.close-btn:hover{background:#e9ecef;color:#495057}.worker-profile-section{align-items:center;border-bottom:1px solid #dee2e6;display:flex;padding:20px}.worker-avatar{border:3px solid #4caf50;border-radius:50%;height:100px;margin-right:20px;object-fit:cover;width:100px}.worker-info h3{color:#333;font-size:24px;font-weight:600;margin:0 0 8px}.worker-role{color:#666;font-size:16px;margin:0 0 12px}.worker-status{align-items:center;display:flex;gap:15px}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.status-badge.available{background:#e8f5e8;color:#4caf50}.status-badge.assigned{background:#ffebee;color:#f44}.status-badge.pending{background:#fff3e0;color:#f57c00}.status-badge.approved{background:#e8f5e8;color:#4caf50}.status-badge.rejected{background:#ffebee;color:#d32f2f}.status-badge.busy{background:#ffebee;color:#f44}.no-skills{color:#6c757d;font-size:12px;font-style:italic}.rating{color:#ffc107;font-size:16px;font-weight:600}.worker-details-grid{grid-gap:20px;border-bottom:1px solid #dee2e6;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px}.detail-section h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.detail-item{align-items:flex-start;display:flex;margin-bottom:12px}.detail-item:last-child{margin-bottom:0}.detail-label{color:#6c757d;font-size:14px;font-weight:600;margin-right:8px;min-width:80px}.detail-value{color:#495057;flex:1 1;font-size:14px}.skills-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.skill-tag{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:4px 8px}.job-history-section{border-bottom:1px solid #dee2e6;padding:20px}.job-history-section h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.job-history-list{max-height:200px;overflow-y:auto}.job-history-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:10px;padding:15px}.job-history-item:last-child{margin-bottom:0}.job-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.job-header h5{color:#333;font-size:14px;font-weight:600;margin:0}.job-status{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.job-status.assigned{background:#e8f5e8;color:#4caf50}.job-status.completed{background:#e3f2fd;color:#1976d2}.job-status.pending{background:#fff3e0;color:#f57c00}.job-description{color:#666;font-size:13px;line-height:1.4;margin:0 0 8px}.job-details{color:#6c757d;display:flex;font-size:12px;gap:15px}.job-details span{align-items:center;display:flex}.no-jobs{font-style:italic}.loading,.no-jobs{color:#6c757d;padding:20px;text-align:center}.available-jobs-section{border-bottom:1px solid #dee2e6;padding:20px}.available-jobs-section h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.available-jobs-list{max-height:300px;overflow-y:auto}.available-job-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:10px;padding:15px;transition:all .2s ease}.available-job-item:hover{background:#e9ecef;border-color:#4caf50}.available-job-item .job-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.available-job-item .job-header h5{color:#333;font-size:14px;font-weight:600;margin:0}.available-job-item .job-urgency{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.available-job-item .job-urgency.high{background:#ffebee;color:#d32f2f}.available-job-item .job-urgency.medium{background:#fff3e0;color:#f57c00}.available-job-item .job-urgency.low{background:#e8f5e8;color:#4caf50}.available-job-item .job-urgency.urgent{background:#fce4ec;color:#c2185b}.available-job-item .job-description{color:#666;font-size:13px;line-height:1.4;margin:0 0 8px}.available-job-item .job-details{color:#6c757d;display:flex;font-size:12px;gap:15px;margin-bottom:10px}.available-job-item .job-details span{align-items:center;display:flex}.assign-job-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease}.assign-job-btn:hover{background:#45a049}.job-assignment-section{padding:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h4{color:#495057;font-size:16px;font-weight:600;margin:0}.toggle-form-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.toggle-form-btn:hover{background:#45a049}.job-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{color:#495057;font-size:14px;font-weight:600;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:10px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.cancel-btn:hover{background:#5a6268}.create-job-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.create-job-btn:hover:not(:disabled){background:#1976d2}.create-job-btn:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.header-content{align-items:flex-start;flex-direction:column;gap:15px}.header-stats{flex-wrap:wrap;gap:10px;width:100%}.stat-item{flex:1 1;min-width:80px}.form-row,.worker-details-grid{grid-template-columns:1fr}.worker-profile-section{flex-direction:column;text-align:center}.worker-avatar{margin-bottom:15px;margin-right:0}.map-controls,.map-legend{bottom:auto;left:auto;margin:10px;position:relative;right:auto;top:auto}.modal-content{margin:10px;max-height:95vh}.map-header{padding:15px}.header-instructions{margin-top:10px}}@media (max-width:480px){.header-stats{display:grid;grid-template-columns:repeat(2,1fr)}.stat-item{padding:8px 10px}.stat-number{font-size:18px}.stat-label{font-size:10px}}.modal-overlay{animation:fadeIn .3s ease}.modal-content{animation:slideIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.6f3c18ce.css.map*/