.app-container[data-v-1cd143a4]{width:100%;height:100vh;overflow:hidden}.login-container[data-v-e72225f3]{width:100%;height:100vh;display:flex;overflow:hidden}.left-side[data-v-e72225f3]{flex:1;position:relative;overflow:hidden}.tower-image[data-v-e72225f3]{width:100%;height:100%;object-fit:cover;display:block}.logo[data-v-e72225f3]{position:absolute;top:30px;left:40px;z-index:10}.logo-placeholder[data-v-e72225f3]{display:flex;align-items:center;gap:8px}.logo-text[data-v-e72225f3]{font-size:24px;font-weight:700;color:#4caf50;letter-spacing:1px}.right-side[data-v-e72225f3]{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.close-button[data-v-e72225f3]{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:transparent;font-size:32px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button[data-v-e72225f3]:hover{background:#f5f5f5;color:#666}.form-content[data-v-e72225f3]{width:100%;max-width:420px}.form-title[data-v-e72225f3]{font-size:32px;font-weight:600;color:#4caf50;margin-bottom:8px}.form-subtitle[data-v-e72225f3]{font-size:16px;color:#666;margin-bottom:32px}.login-form[data-v-e72225f3]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-e72225f3]{display:flex;flex-direction:column;gap:8px}.input-label[data-v-e72225f3]{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.input-wrapper[data-v-e72225f3]{position:relative;display:flex;align-items:center}.input-wrapper.has-error input[data-v-e72225f3]{border-color:#ef4444}.input-wrapper.has-error input[data-v-e72225f3]:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-icon[data-v-e72225f3]{position:absolute;right:14px;display:flex;align-items:center;pointer-events:none}.input-icon[data-v-e72225f3]{position:absolute;left:14px;color:#999;display:flex;align-items:center;pointer-events:none}.input-wrapper input[data-v-e72225f3]{width:100%;padding:14px 14px 14px 45px;font-size:15px;border:1px solid #e0e0e0;border-radius:8px;transition:all .3s ease;font-family:inherit;color:#333}.input-wrapper input[data-v-e72225f3]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.input-wrapper input[data-v-e72225f3]::placeholder{color:#999}.toggle-password[data-v-e72225f3]{position:absolute;right:14px;background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.toggle-password[data-v-e72225f3]:hover{color:#666}.error-message[data-v-e72225f3]{font-size:12px;color:#f44336;margin-top:4px}.error-banner[data-v-e72225f3]{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;font-size:14px;text-align:center;border:1px solid #ef9a9a}.forgot-password-wrapper[data-v-e72225f3]{text-align:center;margin-top:-8px}.forgot-link[data-v-e72225f3]{font-size:14px;color:#666;text-decoration:none;transition:color .2s}.forgot-link[data-v-e72225f3]:hover{color:#4caf50}.btn-submit[data-v-e72225f3]{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#4caf50;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:8px}.btn-submit[data-v-e72225f3]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-submit[data-v-e72225f3]:active:not(:disabled){transform:translateY(0)}.btn-submit[data-v-e72225f3]:disabled{background:#e0e0e0;cursor:not-allowed}.form-footer[data-v-e72225f3]{margin-top:32px;text-align:center}.form-footer p[data-v-e72225f3]{font-size:14px;color:#666}.link[data-v-e72225f3]{color:#4caf50;text-decoration:none;font-weight:600;transition:color .2s}.link[data-v-e72225f3]:hover{color:#45a049}@media (max-width: 1024px){.login-container[data-v-e72225f3]{flex-direction:column}.left-side[data-v-e72225f3]{display:none}.right-side[data-v-e72225f3]{flex:1}}@media (max-width: 768px){.right-side[data-v-e72225f3]{padding:30px 24px}.form-title[data-v-e72225f3]{font-size:28px}.form-subtitle[data-v-e72225f3]{font-size:14px}}.loading-container[data-v-adc62a50]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:#fff}.loading-content[data-v-adc62a50]{display:flex;flex-direction:column;align-items:center;gap:40px}.squares-container[data-v-adc62a50]{display:flex;gap:16px;align-items:center}.square[data-v-adc62a50]{width:50px;height:50px;border-radius:8px;animation:pulse-adc62a50 1.5s ease-in-out infinite}.square-1[data-v-adc62a50]{background:#2e7d32;animation-delay:0s}.square-2[data-v-adc62a50]{background:#4caf50;animation-delay:.2s}.square-3[data-v-adc62a50]{background:#cddc39;animation-delay:.4s}@keyframes pulse-adc62a50{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.logo[data-v-adc62a50]{margin-top:20px}.logo-text[data-v-adc62a50]{font-size:32px;font-weight:700;color:var(--edotco-primary);letter-spacing:2px}.loading-text[data-v-adc62a50]{font-size:16px;color:var(--edotco-text-light);font-weight:500;animation:fadeInOut-adc62a50 2s ease-in-out infinite}@keyframes fadeInOut-adc62a50{0%,to{opacity:.5}50%{opacity:1}}.welcome-container[data-v-d95b3cec]{width:100%;height:100vh;background:linear-gradient(135deg,#4caf50,#66bb6a);display:flex;align-items:center;justify-content:center;animation:fadeIn-d95b3cec .5s ease-out}@keyframes fadeIn-d95b3cec{0%{opacity:0}to{opacity:1}}.logo-container[data-v-d95b3cec]{animation:zoomIn-d95b3cec .8s ease-out}@keyframes zoomIn-d95b3cec{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.logo-content[data-v-d95b3cec]{display:flex;flex-direction:column;align-items:center;gap:24px}.logo-squares[data-v-d95b3cec]{display:flex;gap:12px}.logo-square[data-v-d95b3cec]{width:40px;height:40px;background:#fff;border-radius:6px;animation:float-d95b3cec 2s ease-in-out infinite}.logo-square[data-v-d95b3cec]:nth-child(1){animation-delay:0s}.logo-square[data-v-d95b3cec]:nth-child(2){animation-delay:.2s}.logo-square[data-v-d95b3cec]:nth-child(3){animation-delay:.4s;background:#fffc}@keyframes float-d95b3cec{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo-text[data-v-d95b3cec]{font-size:64px;font-weight:700;color:#fff;letter-spacing:4px;text-shadow:0 4px 20px rgba(0,0,0,.2)}@media (max-width: 768px){.logo-text[data-v-d95b3cec]{font-size:48px;letter-spacing:3px}.logo-square[data-v-d95b3cec]{width:32px;height:32px}}.modal-overlay[data-v-76ca74bd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.modal[data-v-76ca74bd]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header[data-v-76ca74bd]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.modal-header h2[data-v-76ca74bd]{font-size:20px;font-weight:600;color:#2c3e50;margin:0}.btn-close[data-v-76ca74bd]{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;line-height:1}.btn-close[data-v-76ca74bd]:hover{color:#495057}.modal-body[data-v-76ca74bd]{padding:24px}.alert[data-v-76ca74bd]{padding:16px;border-radius:8px;margin-bottom:20px}.alert-warning[data-v-76ca74bd]{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404}.alert strong[data-v-76ca74bd]{display:block;margin-bottom:8px}.alert p[data-v-76ca74bd]{margin:0;font-size:14px}.form-group[data-v-76ca74bd]{margin-bottom:20px}.form-group label[data-v-76ca74bd]{display:block;margin-bottom:8px;font-weight:500;color:#495057;font-size:14px}.form-group input[data-v-76ca74bd]{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px}.form-group input[data-v-76ca74bd]:focus{outline:none;border-color:#4caf50}.password-strength[data-v-76ca74bd]{margin-top:8px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px;display:inline-block}.password-strength.weak[data-v-76ca74bd]{background:#ffebee;color:#c62828}.password-strength.medium[data-v-76ca74bd]{background:#fff3e0;color:#ef6c00}.password-strength.strong[data-v-76ca74bd]{background:#e8f5e9;color:#2e7d32}.error-text[data-v-76ca74bd]{color:#dc3545;font-size:12px;margin-top:4px}.password-requirements[data-v-76ca74bd]{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}.password-requirements p[data-v-76ca74bd]{margin:0 0 8px;font-size:14px;color:#495057}.password-requirements ul[data-v-76ca74bd]{margin:0;padding-left:20px;list-style:none}.password-requirements li[data-v-76ca74bd]{font-size:13px;color:#6c757d;margin-bottom:4px;position:relative;padding-left:20px}.password-requirements li[data-v-76ca74bd]:before{content:"○";position:absolute;left:0;color:#6c757d}.password-requirements li.valid[data-v-76ca74bd]{color:#2e7d32}.password-requirements li.valid[data-v-76ca74bd]:before{content:"✓";color:#2e7d32;font-weight:700}.error-message[data-v-76ca74bd]{background:#ffebee;color:#c62828;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.modal-footer[data-v-76ca74bd]{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #dee2e6}.btn-primary[data-v-76ca74bd],.btn-secondary[data-v-76ca74bd]{padding:10px 20px;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:all .3s}.btn-primary[data-v-76ca74bd]{background:#4caf50;color:#fff}.btn-primary[data-v-76ca74bd]:hover:not(:disabled){background:#45a049}.btn-primary[data-v-76ca74bd]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-76ca74bd]{background:#6c757d;color:#fff}.btn-secondary[data-v-76ca74bd]:hover{background:#5a6268}.login-view[data-v-84aedaf5]{width:100%;height:100vh}.register-container[data-v-a9af181c]{width:100%;height:100vh;display:flex;overflow:hidden}.left-side[data-v-a9af181c]{flex:1;position:relative;overflow:hidden}.tower-image[data-v-a9af181c]{width:100%;height:100%;object-fit:cover;display:block}.logo[data-v-a9af181c]{position:absolute;top:30px;left:40px;z-index:10}.logo-placeholder[data-v-a9af181c]{display:flex;align-items:center;gap:8px}.logo-text[data-v-a9af181c]{font-size:24px;font-weight:700;color:#4caf50;letter-spacing:1px}.right-side[data-v-a9af181c]{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.close-button[data-v-a9af181c]{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:transparent;font-size:32px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button[data-v-a9af181c]:hover{background:#f5f5f5;color:#666}.form-content[data-v-a9af181c]{width:100%;max-width:420px}.form-title[data-v-a9af181c]{font-size:32px;font-weight:600;color:#4caf50;margin-bottom:8px}.form-subtitle[data-v-a9af181c]{font-size:16px;color:#666;margin-bottom:32px}.registration-form[data-v-a9af181c]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-a9af181c]{display:flex;flex-direction:column;gap:8px}.input-wrapper[data-v-a9af181c]{position:relative;display:flex;align-items:center}.input-icon[data-v-a9af181c]{position:absolute;left:14px;color:#999;display:flex;align-items:center;pointer-events:none}.input-wrapper input[data-v-a9af181c]{width:100%;padding:14px 14px 14px 45px;font-size:15px;border:1px solid #e0e0e0;border-radius:8px;transition:all .3s ease;font-family:inherit;color:#333}.input-wrapper input[data-v-a9af181c]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.input-wrapper input[data-v-a9af181c]::placeholder{color:#999}.toggle-password[data-v-a9af181c]{position:absolute;right:14px;background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.toggle-password[data-v-a9af181c]:hover{color:#666}.error-message[data-v-a9af181c]{font-size:12px;color:#f44336;margin-top:4px}.checkbox-wrapper[data-v-a9af181c]{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-wrapper input[type=checkbox][data-v-a9af181c]{width:18px;height:18px;cursor:pointer;accent-color:#4CAF50}.checkbox-text[data-v-a9af181c]{font-size:14px;color:#666;-webkit-user-select:none;user-select:none}.checkbox-text .link[data-v-a9af181c]{color:#4caf50;text-decoration:underline}.btn-submit[data-v-a9af181c]{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#e0e0e0;border:none;border-radius:8px;cursor:not-allowed;transition:all .3s ease;margin-top:8px}.btn-submit[data-v-a9af181c]:not(:disabled){background:#4caf50;cursor:pointer}.btn-submit[data-v-a9af181c]:not(:disabled):hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-submit[data-v-a9af181c]:active:not(:disabled){transform:translateY(0)}.form-footer[data-v-a9af181c]{margin-top:32px;text-align:center}.form-footer p[data-v-a9af181c]{font-size:14px;color:#666}.link[data-v-a9af181c]{color:#4caf50;text-decoration:none;font-weight:600;transition:color .2s}.link[data-v-a9af181c]:hover{color:#45a049}@media (max-width: 1024px){.register-container[data-v-a9af181c]{flex-direction:column}.left-side[data-v-a9af181c]{display:none}.right-side[data-v-a9af181c]{flex:1}}@media (max-width: 768px){.right-side[data-v-a9af181c]{padding:30px 24px}.form-title[data-v-a9af181c]{font-size:28px}.form-subtitle[data-v-a9af181c]{font-size:14px}}.success-container[data-v-8fd31319]{width:100%;height:100vh;position:relative;display:flex;align-items:center;justify-content:center}.background-image[data-v-8fd31319]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#4caf501a,#8bc34a0d),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><rect fill="%23e8f5e9" width="1200" height="800"/><path fill="%234CAF50" opacity="0.1" d="M0,300 Q300,200 600,300 T1200,300 L1200,800 L0,800 Z"/></svg>');background-size:cover;background-position:center;z-index:0}.success-content[data-v-8fd31319]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;padding:60px 80px;border-radius:20px;box-shadow:0 10px 40px #0000001a;animation:slideUp-8fd31319 .5s ease-out}@keyframes slideUp-8fd31319{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon[data-v-8fd31319]{margin-bottom:24px;animation:scaleIn-8fd31319 .5s ease-out .2s both}@keyframes scaleIn-8fd31319{0%{transform:scale(0)}to{transform:scale(1)}}.success-icon svg[data-v-8fd31319]{filter:drop-shadow(0 4px 12px rgba(76,175,80,.3))}.success-title[data-v-8fd31319]{font-size:32px;font-weight:700;color:var(--edotco-text);margin-bottom:16px;animation:fadeIn-8fd31319 .5s ease-out .4s both}.success-message[data-v-8fd31319]{font-size:16px;color:var(--edotco-text-light);line-height:1.6;margin-bottom:32px;animation:fadeIn-8fd31319 .5s ease-out .6s both}@keyframes fadeIn-8fd31319{0%{opacity:0}to{opacity:1}}.btn-continue[data-v-8fd31319]{padding:14px 48px;font-size:16px;font-weight:600;color:#fff;background:var(--edotco-primary);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;animation:fadeIn-8fd31319 .5s ease-out .8s both}.btn-continue[data-v-8fd31319]:hover{background:var(--edotco-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-continue[data-v-8fd31319]:active{transform:translateY(0)}@media (max-width: 768px){.success-content[data-v-8fd31319]{padding:40px 32px}.success-title[data-v-8fd31319]{font-size:28px}.success-message[data-v-8fd31319]{font-size:15px}}.registration-flow[data-v-b58c07c0]{width:100%;height:100vh;position:relative}.register-view[data-v-31649b36]{width:100%;height:100vh}.forgot-password-container[data-v-5453d340]{width:100%;height:100vh;display:flex;overflow:hidden}.left-side[data-v-5453d340]{flex:1;position:relative;overflow:hidden}.tower-image[data-v-5453d340]{width:100%;height:100%;object-fit:cover;display:block}.logo[data-v-5453d340]{position:absolute;top:30px;left:40px;z-index:10}.logo-placeholder[data-v-5453d340]{display:flex;align-items:center;gap:8px}.logo-text[data-v-5453d340]{font-size:24px;font-weight:700;color:#4caf50;letter-spacing:1px}.right-side[data-v-5453d340]{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.close-button[data-v-5453d340]{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:transparent;font-size:32px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button[data-v-5453d340]:hover{background:#f5f5f5;color:#666}.form-content[data-v-5453d340]{width:100%;max-width:420px}.form-title[data-v-5453d340]{font-size:32px;font-weight:600;color:#4caf50;margin-bottom:8px;text-align:center}.form-subtitle[data-v-5453d340]{font-size:16px;color:#666;margin-bottom:32px;text-align:center}.forgot-form[data-v-5453d340]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-5453d340]{display:flex;flex-direction:column;gap:8px}.input-wrapper[data-v-5453d340]{position:relative;display:flex;align-items:center}.input-icon[data-v-5453d340]{position:absolute;left:14px;color:#999;display:flex;align-items:center;pointer-events:none}.input-wrapper input[data-v-5453d340]{width:100%;padding:14px 14px 14px 45px;font-size:15px;border:1px solid #e0e0e0;border-radius:8px;transition:all .3s ease;font-family:inherit;color:#333}.input-wrapper input[data-v-5453d340]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.input-wrapper input[data-v-5453d340]::placeholder{color:#999}.error-banner[data-v-5453d340]{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;font-size:14px;text-align:center;border:1px solid #ef9a9a}.btn-submit[data-v-5453d340]{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#4caf50;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:8px}.btn-submit[data-v-5453d340]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-submit[data-v-5453d340]:active:not(:disabled){transform:translateY(0)}.btn-submit[data-v-5453d340]:disabled{background:#e0e0e0;cursor:not-allowed}.success-state[data-v-5453d340]{display:flex;flex-direction:column;align-items:center}.success-icon[data-v-5453d340]{margin-bottom:24px}.email-display[data-v-5453d340]{width:100%;background:#f5f5f5;border-radius:8px;padding:20px;margin:24px 0}.email-label[data-v-5453d340]{font-size:12px;color:#4caf50;font-weight:600;margin-bottom:16px;text-align:center}.email-info[data-v-5453d340]{display:flex;flex-direction:column;gap:4px}.email-label-text[data-v-5453d340]{font-size:14px;color:#666;font-weight:500}.email-value[data-v-5453d340]{font-size:15px;color:#333}@media (max-width: 1024px){.forgot-password-container[data-v-5453d340]{flex-direction:column}.left-side[data-v-5453d340]{display:none}.right-side[data-v-5453d340]{flex:1}}@media (max-width: 768px){.right-side[data-v-5453d340]{padding:30px 24px}.form-title[data-v-5453d340]{font-size:28px}.form-subtitle[data-v-5453d340]{font-size:14px}}.reset-password-container[data-v-a762981f]{width:100%;height:100vh;display:flex;overflow:hidden}.left-side[data-v-a762981f]{flex:1;position:relative;overflow:hidden}.tower-image[data-v-a762981f]{width:100%;height:100%;object-fit:cover;display:block}.logo[data-v-a762981f]{position:absolute;top:30px;left:40px;z-index:10}.logo-placeholder[data-v-a762981f]{display:flex;align-items:center;gap:8px}.logo-text[data-v-a762981f]{font-size:24px;font-weight:700;color:#4caf50;letter-spacing:1px}.right-side[data-v-a762981f]{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.close-button[data-v-a762981f]{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:transparent;font-size:32px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button[data-v-a762981f]:hover{background:#f5f5f5;color:#666}.form-content[data-v-a762981f]{width:100%;max-width:420px}.form-title[data-v-a762981f]{font-size:32px;font-weight:600;color:#4caf50;margin-bottom:8px;text-align:center}.form-subtitle[data-v-a762981f]{font-size:16px;color:#666;margin-bottom:24px;text-align:center;line-height:1.5}.password-requirements[data-v-a762981f]{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin-bottom:24px}.requirements-title[data-v-a762981f]{font-size:14px;font-weight:600;color:#0369a1;margin-bottom:8px}.requirements-list[data-v-a762981f]{list-style:none;padding:0;margin:0}.requirements-list li[data-v-a762981f]{font-size:13px;color:#0c4a6e;padding:4px 0 4px 20px;position:relative}.requirements-list li[data-v-a762981f]:before{content:"✓";position:absolute;left:0;color:#0284c7;font-weight:700}.reset-form[data-v-a762981f]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-a762981f]{display:flex;flex-direction:column;gap:8px}.input-wrapper[data-v-a762981f]{position:relative;display:flex;align-items:center}.input-icon[data-v-a762981f]{position:absolute;left:14px;color:#999;display:flex;align-items:center;pointer-events:none}.input-wrapper input[data-v-a762981f]{width:100%;padding:14px 50px 14px 45px;font-size:15px;border:1px solid #e0e0e0;border-radius:8px;transition:all .3s ease;font-family:inherit;color:#333}.input-wrapper input[data-v-a762981f]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.input-wrapper input[data-v-a762981f]::placeholder{color:#999}.input-wrapper.has-error input[data-v-a762981f]{border-color:#ef4444}.input-wrapper.has-error input[data-v-a762981f]:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-icon[data-v-a762981f]{position:absolute;right:14px;display:flex;align-items:center;pointer-events:none}.error-message[data-v-a762981f]{font-size:12px;color:#ef4444;margin-top:4px;display:block}.toggle-password[data-v-a762981f]{position:absolute;right:14px;background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s;z-index:1}.toggle-password[data-v-a762981f]:hover{color:#666}.error-banner[data-v-a762981f]{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;font-size:14px;text-align:center;border:1px solid #ef9a9a}.btn-submit[data-v-a762981f]{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#4caf50;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:8px}.btn-submit[data-v-a762981f]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-submit[data-v-a762981f]:active:not(:disabled){transform:translateY(0)}.btn-submit[data-v-a762981f]:disabled{background:#e0e0e0;cursor:not-allowed}.loading-state[data-v-a762981f]{text-align:center;padding:40px 0;color:#666}.error-state[data-v-a762981f]{text-align:center}.success-state[data-v-a762981f]{display:flex;flex-direction:column;align-items:center}.success-icon[data-v-a762981f]{margin-bottom:24px}@media (max-width: 1024px){.reset-password-container[data-v-a762981f]{flex-direction:column}.left-side[data-v-a762981f]{display:none}.right-side[data-v-a762981f]{flex:1}}@media (max-width: 768px){.right-side[data-v-a762981f]{padding:30px 24px}.form-title[data-v-a762981f]{font-size:28px}.form-subtitle[data-v-a762981f]{font-size:14px}}.notification-bell[data-v-fbbf07bd]{position:relative}.bell-button[data-v-fbbf07bd]{position:relative;background:none;border:none;cursor:pointer;color:#6b7280;padding:8px;border-radius:50%;transition:all .2s}.bell-button[data-v-fbbf07bd]:hover{background:#f3f4f6;color:#10b981}.badge[data-v-fbbf07bd]{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600;min-width:18px;text-align:center}.notification-panel[data-v-fbbf07bd]{position:absolute;top:calc(100% + 10px);right:0;width:400px;max-height:600px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1001;display:flex;flex-direction:column}.panel-header[data-v-fbbf07bd]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.panel-header h3[data-v-fbbf07bd]{margin:0;font-size:18px;font-weight:600;color:#111827}.mark-all-btn[data-v-fbbf07bd]{background:none;border:none;color:#10b981;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.mark-all-btn[data-v-fbbf07bd]:hover{background:#d1fae5}.notifications-list[data-v-fbbf07bd]{overflow-y:auto;max-height:500px}.loading-state[data-v-fbbf07bd],.empty-state[data-v-fbbf07bd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.spinner[data-v-fbbf07bd]{border:3px solid #f3f4f6;border-top:3px solid #10b981;border-radius:50%;width:40px;height:40px;animation:spin-fbbf07bd 1s linear infinite;margin-bottom:12px}@keyframes spin-fbbf07bd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state svg[data-v-fbbf07bd]{margin-bottom:12px;opacity:.5}.notification-item[data-v-fbbf07bd]{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .2s;position:relative}.notification-item[data-v-fbbf07bd]:hover{background:#f9fafb}.notification-item.unread[data-v-fbbf07bd]{background:#ecfdf5}.notification-item.unread[data-v-fbbf07bd]:hover{background:#d1fae5}.notification-icon[data-v-fbbf07bd]{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280}.notification-icon.type-taskassigned[data-v-fbbf07bd]{background:#dbeafe;color:#2563eb}.notification-icon.type-tasksubmitted[data-v-fbbf07bd]{background:#fef3c7;color:#f59e0b}.notification-icon.type-taskapproved[data-v-fbbf07bd]{background:#d1fae5;color:#10b981}.notification-icon.type-taskrejected[data-v-fbbf07bd]{background:#fee2e2;color:#ef4444}.notification-content[data-v-fbbf07bd]{flex:1}.notification-content h4[data-v-fbbf07bd]{margin:0 0 4px;font-size:14px;font-weight:600;color:#111827}.notification-content p[data-v-fbbf07bd]{margin:0 0 6px;font-size:13px;color:#6b7280;line-height:1.4}.notification-time[data-v-fbbf07bd]{font-size:12px;color:#9ca3af}.unread-dot[data-v-fbbf07bd]{position:absolute;top:20px;right:20px;width:8px;height:8px;border-radius:50%;background:#10b981}.notification-backdrop[data-v-fbbf07bd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000001a;z-index:1000}.slide-fade-enter-active[data-v-fbbf07bd]{transition:all .2s ease}.slide-fade-leave-active[data-v-fbbf07bd]{transition:all .15s ease}.slide-fade-enter-from[data-v-fbbf07bd],.slide-fade-leave-to[data-v-fbbf07bd]{transform:translateY(-10px);opacity:0}.main-layout[data-v-c288ea0d]{display:flex;height:100vh;background:#f5f7fa}.sidebar[data-v-c288ea0d]{width:260px;background:#f8faf5;color:#2d3748;display:flex;flex-direction:column;transition:width .3s ease;position:relative;z-index:100;box-shadow:4px 0 12px #0000000d}.sidebar.collapsed[data-v-c288ea0d]{width:70px}.sidebar-header[data-v-c288ea0d]{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.logo[data-v-c288ea0d]{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.logo-icon[data-v-c288ea0d]{font-size:24px}.logo-text[data-v-c288ea0d]{color:#2e7d32;letter-spacing:2px;font-weight:700}.toggle-btn[data-v-c288ea0d]{background:transparent;border:none;color:#64748b;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.toggle-btn[data-v-c288ea0d]:hover{background:#fff3}.sidebar-nav[data-v-c288ea0d]{flex:1;overflow-y:auto;padding:8px 0}.nav-section[data-v-c288ea0d]{margin-bottom:12px}.nav-section[data-v-c288ea0d]:last-child{margin-bottom:0}.section-title[data-v-c288ea0d]{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#94a3b8;padding:8px 20px 6px;margin-bottom:2px;position:relative}.section-title[data-v-c288ea0d]:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:2px;background:linear-gradient(90deg,#D4ED57 0%,transparent 100%)}.nav-item[data-v-c288ea0d]{display:flex;align-items:center;gap:12px;padding:10px 20px;color:#64748b;text-decoration:none;transition:all .3s;position:relative;margin:2px 16px;border-radius:12px;font-weight:500}.nav-item[data-v-c288ea0d]:hover{background:#e8f5e9;color:#2e7d32}.nav-item.active[data-v-c288ea0d]{background:#d4ed57;color:#2e7d32;font-weight:600;box-shadow:0 2px 8px #d4ed574d}.nav-icon[data-v-c288ea0d]{font-size:22px;min-width:22px;text-align:center}.nav-label[data-v-c288ea0d]{flex:1;font-size:15px;font-weight:500;white-space:nowrap}.nav-badge[data-v-c288ea0d]{background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px;min-width:22px;text-align:center}.sidebar.collapsed .nav-item[data-v-c288ea0d]{justify-content:center;padding:12px}.sidebar.collapsed .nav-badge[data-v-c288ea0d]{position:absolute;top:8px;right:8px}.sidebar-footer[data-v-c288ea0d]{padding:16px;border-top:1px solid #E2E8F0;position:relative}.user-profile[data-v-c288ea0d]{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000d}.user-profile[data-v-c288ea0d]:hover{background:#f1f5f9}.user-avatar[data-v-c288ea0d]{width:40px;height:40px;background:#2e7d32;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.user-info[data-v-c288ea0d]{flex:1;overflow:hidden}.user-name[data-v-c288ea0d]{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-c288ea0d]{font-size:12px;color:#64748b}.user-menu-dropdown[data-v-c288ea0d]{position:absolute;bottom:72px;left:16px;right:16px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;padding:8px;z-index:1000}.menu-item[data-v-c288ea0d]{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#333;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.menu-item[data-v-c288ea0d]:hover{background:#f5f5f5}.logout-item[data-v-c288ea0d]{color:#ef4444}.logout-item[data-v-c288ea0d]:hover{background:#fee2e2;color:#dc2626}.menu-divider[data-v-c288ea0d]{height:1px;background:#e0e0e0;margin:8px 0}.main-content[data-v-c288ea0d]{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-bar[data-v-c288ea0d]{background:#fff;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000000d;z-index:50}.page-title h1[data-v-c288ea0d]{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.page-subtitle[data-v-c288ea0d]{font-size:14px;color:#666;margin:0}.top-bar-actions[data-v-c288ea0d]{display:flex;align-items:center;gap:12px;position:relative}.icon-btn[data-v-c288ea0d]{width:40px;height:40px;background:#f5f5f5;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s}.icon-btn[data-v-c288ea0d]:hover{background:#e0e0e0}.icon-btn .badge[data-v-c288ea0d]{position:absolute;top:-4px;right:-4px;background:#e53935;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.notifications-dropdown[data-v-c288ea0d]{position:absolute;top:52px;right:0;width:360px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;max-height:480px;display:flex;flex-direction:column}.dropdown-header[data-v-c288ea0d]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.dropdown-header h3[data-v-c288ea0d]{font-size:16px;font-weight:600;margin:0;color:#333}.dropdown-header button[data-v-c288ea0d]{background:none;border:none;font-size:20px;color:#999;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.dropdown-header button[data-v-c288ea0d]:hover{background:#f5f5f5;color:#333}.notification-list[data-v-c288ea0d]{overflow-y:auto;max-height:400px}.notification-item[data-v-c288ea0d]{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:all .2s}.notification-item[data-v-c288ea0d]:hover{background:#f9f9f9}.notif-icon[data-v-c288ea0d]{font-size:24px;flex-shrink:0}.notif-content[data-v-c288ea0d]{flex:1}.notif-title[data-v-c288ea0d]{font-size:14px;color:#333;margin:0 0 4px;line-height:1.4}.notif-time[data-v-c288ea0d]{font-size:12px;color:#999;margin:0}.empty-state[data-v-c288ea0d]{padding:40px 20px;text-align:center;color:#999;font-size:14px}.page-content[data-v-c288ea0d]{flex:1;overflow-y:auto;padding:24px 32px}.sidebar-nav[data-v-c288ea0d]::-webkit-scrollbar,.notification-list[data-v-c288ea0d]::-webkit-scrollbar,.page-content[data-v-c288ea0d]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-c288ea0d]::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav[data-v-c288ea0d]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.page-content[data-v-c288ea0d]::-webkit-scrollbar-track,.notification-list[data-v-c288ea0d]::-webkit-scrollbar-track{background:#f1f1f1}.page-content[data-v-c288ea0d]::-webkit-scrollbar-thumb,.notification-list[data-v-c288ea0d]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}@media (max-width: 768px){.sidebar[data-v-c288ea0d]{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%)}.sidebar.show[data-v-c288ea0d]{transform:translate(0)}.main-content[data-v-c288ea0d]{width:100%}.page-content[data-v-c288ea0d]{padding:16px}.notifications-dropdown[data-v-c288ea0d]{width:calc(100vw - 32px);right:-16px}}.dashboard[data-v-4edf16f1]{max-width:1800px;margin:0 auto}.stats-grid[data-v-4edf16f1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-card[data-v-4edf16f1]{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000d;transition:all .3s;border-left:4px solid}.stat-card[data-v-4edf16f1]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-card.blue[data-v-4edf16f1]{border-color:#2196f3}.stat-card.green[data-v-4edf16f1]{border-color:#4caf50}.stat-card.yellow[data-v-4edf16f1]{border-color:#ff9800}.stat-card.purple[data-v-4edf16f1]{border-color:#9c27b0}.stat-icon[data-v-4edf16f1]{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;border-radius:12px}.stat-content[data-v-4edf16f1]{flex:1}.stat-value[data-v-4edf16f1]{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.stat-label[data-v-4edf16f1]{font-size:14px;color:#666;margin-bottom:8px}.stat-change[data-v-4edf16f1]{font-size:12px;font-weight:600}.stat-change.up[data-v-4edf16f1]{color:#4caf50}.stat-change.neutral[data-v-4edf16f1]{color:#ff9800}.dashboard-grid[data-v-4edf16f1]{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.dashboard-card[data-v-4edf16f1]{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.recent-jobs[data-v-4edf16f1]{grid-column:span 8}.tower-map[data-v-4edf16f1],.vendor-performance[data-v-4edf16f1]{grid-column:span 4}.activity-chart[data-v-4edf16f1]{grid-column:span 5}.quick-actions[data-v-4edf16f1]{grid-column:span 3}.upcoming-maintenance[data-v-4edf16f1]{grid-column:span 4}.card-header[data-v-4edf16f1]{padding:20px 24px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.card-header h2[data-v-4edf16f1]{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.view-all-link[data-v-4edf16f1]{color:#4caf50;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}.view-all-link[data-v-4edf16f1]:hover{color:#45a049}.card-content[data-v-4edf16f1]{padding:20px 24px}.jobs-list[data-v-4edf16f1]{display:flex;flex-direction:column;gap:12px}.job-item[data-v-4edf16f1]{display:flex;align-items:center;gap:16px;padding:16px;background:#f9f9f9;border-radius:12px;cursor:pointer;transition:all .2s}.job-item[data-v-4edf16f1]:hover{background:#f0f0f0;transform:translate(4px)}.job-avatar[data-v-4edf16f1]{width:48px;height:48px;border-radius:50%;overflow:hidden}.job-avatar img[data-v-4edf16f1]{width:100%;height:100%;object-fit:cover}.job-info[data-v-4edf16f1]{flex:1}.job-title[data-v-4edf16f1]{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.job-meta[data-v-4edf16f1]{display:flex;gap:12px;font-size:13px;color:#666}.status-badge[data-v-4edf16f1]{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.assigned[data-v-4edf16f1]{background:#e3f2fd;color:#1976d2}.status-badge.in_progress[data-v-4edf16f1]{background:#fff3e0;color:#f57c00}.status-badge.completed[data-v-4edf16f1]{background:#e8f5e9;color:#388e3c}.tower-count[data-v-4edf16f1]{font-size:14px;color:#666}.tower-grid[data-v-4edf16f1]{display:grid;gap:12px}.tower-item[data-v-4edf16f1]{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px}.tower-status[data-v-4edf16f1]{width:12px;height:12px;border-radius:50%}.tower-status.normal[data-v-4edf16f1]{background:#4caf50}.tower-status.flashflood[data-v-4edf16f1]{background:#ff9800}.tower-status.repair[data-v-4edf16f1]{background:#f44336}.tower-name[data-v-4edf16f1]{font-size:14px;font-weight:600;color:#333}.tower-location[data-v-4edf16f1]{font-size:12px;color:#666}.sort-select[data-v-4edf16f1]{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#666;cursor:pointer}.vendors-list[data-v-4edf16f1]{display:flex;flex-direction:column;gap:12px}.vendor-item[data-v-4edf16f1]{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px}.vendor-rank[data-v-4edf16f1]{width:32px;height:32px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.vendor-avatar[data-v-4edf16f1]{width:40px;height:40px;border-radius:50%;overflow:hidden}.vendor-avatar img[data-v-4edf16f1]{width:100%;height:100%;object-fit:cover}.vendor-info[data-v-4edf16f1]{flex:1;min-width:0}.vendor-name[data-v-4edf16f1]{font-size:14px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-company[data-v-4edf16f1]{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-stats[data-v-4edf16f1]{text-align:right}.vendor-rating[data-v-4edf16f1]{font-size:13px;font-weight:600;color:#ff9800;margin-bottom:2px}.vendor-jobs[data-v-4edf16f1]{font-size:11px;color:#999}.chart-legend[data-v-4edf16f1]{display:flex;gap:16px}.legend-item[data-v-4edf16f1]{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.dot[data-v-4edf16f1]{width:8px;height:8px;border-radius:50%}.dot.green[data-v-4edf16f1]{background:#4caf50}.dot.blue[data-v-4edf16f1]{background:#2196f3}.dot.yellow[data-v-4edf16f1]{background:#ff9800}.chart-bars[data-v-4edf16f1]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;height:200px;padding-top:20px}.chart-bar-group[data-v-4edf16f1]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.chart-bars-stacked[data-v-4edf16f1]{width:100%;display:flex;flex-direction:column-reverse;height:180px;background:#f5f5f5;border-radius:8px 8px 0 0;overflow:hidden}.bar[data-v-4edf16f1]{width:100%;transition:all .3s}.bar-completed[data-v-4edf16f1]{background:#4caf50}.bar-ongoing[data-v-4edf16f1]{background:#2196f3}.bar-pending[data-v-4edf16f1]{background:#ff9800}.chart-label[data-v-4edf16f1]{font-size:12px;color:#666;font-weight:500}.actions-grid[data-v-4edf16f1]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.action-btn[data-v-4edf16f1]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:12px;transition:all .3s}.action-btn[data-v-4edf16f1]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea66}.action-icon[data-v-4edf16f1]{font-size:32px}.action-label[data-v-4edf16f1]{font-size:13px;font-weight:600}.timeline[data-v-4edf16f1]{display:flex;flex-direction:column;gap:20px;position:relative;padding-left:24px}.timeline[data-v-4edf16f1]:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#e0e0e0}.timeline-item[data-v-4edf16f1]{position:relative;display:flex;gap:12px}.timeline-dot[data-v-4edf16f1]{position:absolute;left:-24px;top:4px;width:12px;height:12px;background:#4caf50;border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px #4caf50}.timeline-date[data-v-4edf16f1]{font-size:12px;font-weight:600;color:#4caf50;margin-bottom:4px}.timeline-title[data-v-4edf16f1]{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.timeline-location[data-v-4edf16f1]{font-size:12px;color:#666}.empty-state[data-v-4edf16f1]{text-align:center;padding:40px 20px}.empty-icon[data-v-4edf16f1]{font-size:48px;margin-bottom:16px}.empty-state p[data-v-4edf16f1]{color:#999;margin-bottom:16px}.btn-primary-sm[data-v-4edf16f1]{display:inline-block;padding:10px 20px;background:#4caf50;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:14px;transition:all .2s}.btn-primary-sm[data-v-4edf16f1]:hover{background:#45a049;transform:translateY(-2px)}@media (max-width: 1200px){.recent-jobs[data-v-4edf16f1]{grid-column:span 12}.tower-map[data-v-4edf16f1],.vendor-performance[data-v-4edf16f1],.activity-chart[data-v-4edf16f1],.quick-actions[data-v-4edf16f1]{grid-column:span 6}.upcoming-maintenance[data-v-4edf16f1]{grid-column:span 12}}@media (max-width: 768px){.stats-grid[data-v-4edf16f1]{grid-template-columns:1fr}.dashboard-card[data-v-4edf16f1]{grid-column:span 12!important}.actions-grid[data-v-4edf16f1]{grid-template-columns:1fr}}.track-job[data-v-da1e2fe4]{max-width:1600px;margin:0 auto}.top-controls[data-v-da1e2fe4]{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box[data-v-da1e2fe4]{flex:1;min-width:300px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;transition:all .2s}.search-box[data-v-da1e2fe4]:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.search-box svg[data-v-da1e2fe4]{color:#999;flex-shrink:0}.search-box input[data-v-da1e2fe4]{flex:1;border:none;outline:none;font-size:14px;color:#333}.filter-controls[data-v-da1e2fe4]{display:flex;gap:12px}.filter-select[data-v-da1e2fe4]{padding:12px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;color:#666;background:#fff;cursor:pointer;transition:all .2s}.filter-select[data-v-da1e2fe4]:focus{border-color:#4caf50;outline:none}.btn-refresh[data-v-da1e2fe4]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.btn-refresh[data-v-da1e2fe4]:hover:not(:disabled){background:#f5f5f5;border-color:#4caf50;color:#4caf50}.btn-refresh[data-v-da1e2fe4]:disabled{opacity:.5;cursor:not-allowed}.jobs-container[data-v-da1e2fe4]{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.loading-state[data-v-da1e2fe4],.empty-state[data-v-da1e2fe4]{text-align:center;padding:60px 20px}.spinner[data-v-da1e2fe4]{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#4caf50;border-radius:50%;animation:spin-da1e2fe4 1s linear infinite;margin:0 auto 20px}@keyframes spin-da1e2fe4{to{transform:rotate(360deg)}}.empty-icon[data-v-da1e2fe4]{font-size:64px;margin-bottom:20px}.empty-state h3[data-v-da1e2fe4]{font-size:20px;font-weight:600;color:#333;margin:0 0 8px}.empty-state p[data-v-da1e2fe4]{color:#999;margin:0 0 24px}.btn-primary[data-v-da1e2fe4]{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#4caf50;color:#fff;text-decoration:none;border-radius:10px;font-weight:600;transition:all .2s}.btn-primary[data-v-da1e2fe4]:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.jobs-table[data-v-da1e2fe4]{display:flex;flex-direction:column}.table-header[data-v-da1e2fe4],.table-row[data-v-da1e2fe4]{display:grid;grid-template-columns:40px 2fr 2fr 1.5fr 1fr 1fr 120px;gap:16px;align-items:center;padding:16px 24px}.table-header[data-v-da1e2fe4]{background:#f9f9f9;border-bottom:2px solid #e0e0e0}.th[data-v-da1e2fe4]{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px}.table-row[data-v-da1e2fe4]{border-bottom:1px solid #f0f0f0;transition:all .2s}.table-row[data-v-da1e2fe4]:hover{background:#f9f9f9}.table-row.selected[data-v-da1e2fe4]{background:#e8f5e9}.td[data-v-da1e2fe4]{font-size:14px;color:#333}.job-details[data-v-da1e2fe4]{display:flex;flex-direction:column;gap:4px}.job-title[data-v-da1e2fe4]{font-weight:600;color:#1a1a1a;font-size:15px}.job-meta[data-v-da1e2fe4]{display:flex;gap:12px;font-size:12px;color:#999}.meta-item[data-v-da1e2fe4]{display:flex;align-items:center;gap:4px}.vendor-info[data-v-da1e2fe4]{display:flex;align-items:center;gap:12px}.vendor-avatar[data-v-da1e2fe4]{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.vendor-avatar img[data-v-da1e2fe4]{width:100%;height:100%;object-fit:cover}.vendor-text[data-v-da1e2fe4]{flex:1;min-width:0}.vendor-name[data-v-da1e2fe4]{font-size:14px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-company[data-v-da1e2fe4]{font-size:12px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-info[data-v-da1e2fe4]{display:flex;flex-direction:column;gap:2px}.schedule-date[data-v-da1e2fe4]{font-size:14px;font-weight:600;color:#333}.schedule-time[data-v-da1e2fe4]{font-size:12px;color:#999}.status-badge[data-v-da1e2fe4]{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.assigned[data-v-da1e2fe4]{background:#e3f2fd;color:#1976d2}.status-badge.in_progress[data-v-da1e2fe4]{background:#fff3e0;color:#f57c00}.status-badge.completed[data-v-da1e2fe4]{background:#e8f5e9;color:#388e3c}.status-badge.cancelled[data-v-da1e2fe4]{background:#ffebee;color:#c62828}.progress-info[data-v-da1e2fe4]{display:flex;align-items:center;gap:8px}.progress-bar[data-v-da1e2fe4]{flex:1;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.progress-fill[data-v-da1e2fe4]{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .3s}.progress-text[data-v-da1e2fe4]{font-size:12px;font-weight:600;color:#666;min-width:40px;text-align:right}.td-actions[data-v-da1e2fe4]{display:flex;gap:8px;justify-content:flex-end}.btn-icon[data-v-da1e2fe4]{width:32px;height:32px;background:#f5f5f5;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#666}.btn-icon[data-v-da1e2fe4]:hover{background:#e0e0e0;color:#333}.btn-icon.danger[data-v-da1e2fe4]:hover{background:#ffebee;color:#c62828}.table-footer[data-v-da1e2fe4]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #f0f0f0;background:#f9f9f9}.results-info[data-v-da1e2fe4]{font-size:14px;color:#666}.pagination[data-v-da1e2fe4]{display:flex;gap:8px}.page-btn[data-v-da1e2fe4]{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.page-btn[data-v-da1e2fe4]:hover:not(:disabled):not(.active){background:#f5f5f5;border-color:#4caf50;color:#4caf50}.page-btn.active[data-v-da1e2fe4]{background:#4caf50;border-color:#4caf50;color:#fff}.page-btn[data-v-da1e2fe4]:disabled{opacity:.3;cursor:not-allowed}.modal-overlay[data-v-da1e2fe4]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-container[data-v-da1e2fe4]{background:#fff;border-radius:20px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-da1e2fe4]{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #f0f0f0}.modal-header h2[data-v-da1e2fe4]{font-size:24px;font-weight:700;margin:0}.btn-close[data-v-da1e2fe4]{width:36px;height:36px;background:#f5f5f5;border:none;border-radius:50%;font-size:20px;color:#666;cursor:pointer;transition:all .2s}.btn-close[data-v-da1e2fe4]:hover{background:#e0e0e0;color:#333}.modal-content[data-v-da1e2fe4]{overflow-y:auto;padding:32px}.detail-section[data-v-da1e2fe4]{margin-bottom:32px}.detail-section[data-v-da1e2fe4]:last-child{margin-bottom:0}.detail-section h3[data-v-da1e2fe4]{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.detail-grid[data-v-da1e2fe4]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item[data-v-da1e2fe4]{display:flex;flex-direction:column;gap:4px}.detail-item .label[data-v-da1e2fe4]{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.detail-item .value[data-v-da1e2fe4]{font-size:15px;color:#333;font-weight:500}.vendor-card[data-v-da1e2fe4]{display:flex;align-items:center;gap:20px;padding:24px;background:#f9f9f9;border-radius:12px}.vendor-img[data-v-da1e2fe4]{width:80px;height:80px;border-radius:50%;object-fit:cover}.vendor-name-large[data-v-da1e2fe4]{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.vendor-company-large[data-v-da1e2fe4]{font-size:14px;color:#666;margin-bottom:8px}.vendor-rating[data-v-da1e2fe4]{font-size:13px;color:#999}.tasks-list-modal[data-v-da1e2fe4]{display:flex;flex-direction:column;gap:12px}.task-item-modal[data-v-da1e2fe4]{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px;font-size:14px;color:#333}.notes-text[data-v-da1e2fe4]{padding:16px;background:#f9f9f9;border-radius:12px;font-size:14px;color:#666;line-height:1.6;margin:0}@media (max-width: 1200px){.table-header[data-v-da1e2fe4],.table-row[data-v-da1e2fe4]{grid-template-columns:40px 2fr 2fr 1fr 1fr 100px}.th-progress[data-v-da1e2fe4],.td-progress[data-v-da1e2fe4]{display:none}}@media (max-width: 768px){.top-controls[data-v-da1e2fe4]{flex-direction:column}.search-box[data-v-da1e2fe4]{min-width:100%}.filter-controls[data-v-da1e2fe4]{width:100%}.filter-select[data-v-da1e2fe4],.btn-refresh[data-v-da1e2fe4]{flex:1}.jobs-table[data-v-da1e2fe4]{overflow-x:auto}.table-header[data-v-da1e2fe4],.table-row[data-v-da1e2fe4]{min-width:800px}.detail-grid[data-v-da1e2fe4]{grid-template-columns:1fr}.vendor-card[data-v-da1e2fe4]{flex-direction:column;text-align:center}}.preventive-maintenance[data-v-23342cf9]{width:100%;height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.page-header[data-v-23342cf9]{background:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000001a;z-index:100}.logo-placeholder[data-v-23342cf9]{display:flex;align-items:center}.logo-text[data-v-23342cf9]{font-size:20px;font-weight:700;color:#4caf50;letter-spacing:1px}.header-center[data-v-23342cf9]{flex:1;text-align:center}.page-title[data-v-23342cf9]{font-size:20px;font-weight:600;color:#333;margin:0}.header-right[data-v-23342cf9]{display:flex;align-items:center;gap:16px}.user-info[data-v-23342cf9]{display:flex;align-items:center;gap:8px;background:#e8f5e9;padding:6px 12px;border-radius:20px}.user-icon[data-v-23342cf9]{width:28px;height:28px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name[data-v-23342cf9]{font-size:14px;font-weight:500;color:#333}.notification-btn[data-v-23342cf9],.menu-btn[data-v-23342cf9]{position:relative;width:40px;height:40px;border:1px solid #e0e0e0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.notification-btn[data-v-23342cf9]:hover,.menu-btn[data-v-23342cf9]:hover{background:#f5f5f5}.notification-btn .badge[data-v-23342cf9]{position:absolute;top:-4px;right:-4px;background:#e53935;color:#fff;font-size:10px;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.main-content[data-v-23342cf9]{flex:1;display:flex;overflow:hidden}.left-panel[data-v-23342cf9]{width:40%;flex:0 0 40%;background:#f8f9fa;overflow-y:auto;display:flex;flex-direction:column}.tower-details-view[data-v-23342cf9]{height:100%;overflow-y:auto;background:#fff;animation:slideIn-23342cf9 .3s ease}@keyframes slideIn-23342cf9{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.details-header[data-v-23342cf9]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:10}.back-btn[data-v-23342cf9]{width:36px;height:36px;border:1px solid #e0e0e0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.back-btn[data-v-23342cf9]:hover{background:#f5f5f5;border-color:#4caf50}.details-title[data-v-23342cf9]{font-size:18px;font-weight:600;color:#333;margin:0}.details-content[data-v-23342cf9]{padding:20px}.tower-header-new[data-v-23342cf9]{margin-bottom:20px}.tower-name-large[data-v-23342cf9]{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 12px}.tower-info-list[data-v-23342cf9]{display:flex;flex-direction:column;gap:10px}.info-row[data-v-23342cf9]{display:flex;align-items:center;gap:10px;font-size:14px;color:#666}.info-row svg[data-v-23342cf9]{flex-shrink:0;color:#4caf50}.detail-tabs[data-v-23342cf9]{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:16px;gap:4px}.detail-tab[data-v-23342cf9]{flex:1;padding:12px 16px;background:none;border:none;font-size:13px;font-weight:500;color:#666;cursor:pointer;position:relative;transition:all .2s}.detail-tab.active[data-v-23342cf9]{color:#4caf50;font-weight:600}.detail-tab.active[data-v-23342cf9]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#4caf50}.tab-content[data-v-23342cf9]{min-height:200px}.highlights-list[data-v-23342cf9]{display:flex;flex-direction:column;gap:12px}.highlight-item[data-v-23342cf9]{display:flex;gap:12px;padding:16px;background:#f9f9f9;border-radius:12px;border:1px solid #e8e8e8;transition:all .2s}.highlight-item[data-v-23342cf9]:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.highlight-number[data-v-23342cf9]{width:32px;height:32px;background:#4caf50;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.highlight-content[data-v-23342cf9]{flex:1}.highlight-title[data-v-23342cf9]{font-size:15px;font-weight:600;color:#333;margin:0 0 4px}.highlight-description[data-v-23342cf9]{font-size:13px;color:#666;margin:0;line-height:1.5}.highlight-item.warning .highlight-number[data-v-23342cf9]{background:#ff9800}.highlight-item.error .highlight-number[data-v-23342cf9]{background:#f44336}.maintenance-grid[data-v-23342cf9]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.maintenance-card[data-v-23342cf9]{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s;cursor:pointer;position:relative}.maintenance-card[data-v-23342cf9]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#4caf50}.card-action-hint[data-v-23342cf9]{position:absolute;top:16px;right:16px;color:#4caf50;opacity:0;transition:opacity .2s}.maintenance-card:hover .card-action-hint[data-v-23342cf9]{opacity:1}.maintenance-badge[data-v-23342cf9]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;flex-shrink:0}.maintenance-badge.badge-red[data-v-23342cf9]{background:linear-gradient(135deg,#e53935,#c62828)}.maintenance-badge.badge-pink[data-v-23342cf9]{background:linear-gradient(135deg,#f48fb1,#ec407a)}.maintenance-badge.badge-green[data-v-23342cf9]{background:linear-gradient(135deg,#66bb6a,#43a047)}.maintenance-card-content[data-v-23342cf9]{display:flex;flex-direction:column;gap:4px}.maintenance-card-title[data-v-23342cf9]{font-size:15px;font-weight:600;color:#1a1a1a;margin:0}.maintenance-card-desc[data-v-23342cf9]{font-size:12px;color:#666;margin:0;line-height:1.4}.empty-state[data-v-23342cf9]{padding:40px 20px;text-align:center;color:#999;font-size:14px}.empty-state-full[data-v-23342cf9]{grid-column:1 / -1;padding:60px 20px;text-align:center;color:#999;font-size:14px}.btn-view-full[data-v-23342cf9]{width:100%;padding:14px;background:#4caf50;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:20px}.btn-view-full[data-v-23342cf9]:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.default-view[data-v-23342cf9]{display:flex;flex-direction:column;height:100%}.alerts-carousel-container[data-v-23342cf9]{position:relative;padding:16px 50px;background:#fff}.alerts-carousel[data-v-23342cf9]{overflow:hidden;border-radius:12px;position:relative}.alerts-track[data-v-23342cf9]{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1)}.alert-slide[data-v-23342cf9]{min-width:100%;flex-shrink:0}.carousel-nav[data-v-23342cf9]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#fff;border:2px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s;box-shadow:0 2px 8px #0000001a}.carousel-nav[data-v-23342cf9]:hover:not(:disabled){background:#f5f5f5;border-color:#4caf50;transform:translateY(-50%) scale(1.1)}.carousel-nav[data-v-23342cf9]:disabled{opacity:.3;cursor:not-allowed;border-color:#f0f0f0}.carousel-nav svg[data-v-23342cf9]{color:#666}.carousel-nav:hover:not(:disabled) svg[data-v-23342cf9]{color:#4caf50}.carousel-prev[data-v-23342cf9]{left:8px}.carousel-next[data-v-23342cf9]{right:8px}.carousel-indicators[data-v-23342cf9]{display:flex;gap:8px;justify-content:center;margin-top:12px}.indicator[data-v-23342cf9]{width:8px;height:8px;border-radius:50%;background:#e0e0e0;border:none;cursor:pointer;transition:all .2s;padding:0}.indicator.active[data-v-23342cf9]{background:#4caf50;width:24px;border-radius:4px}.indicator[data-v-23342cf9]:hover{background:silver}.alerts-section[data-v-23342cf9]{padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff}.alert-card[data-v-23342cf9]{background:#fff;border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;border:2px solid;box-shadow:0 2px 8px #00000014;min-height:140px}.alert-card.alert-warning[data-v-23342cf9]{border-color:#ffa726;background:linear-gradient(135deg,#fff8e1,#fff)}.alert-card.alert-repair[data-v-23342cf9]{border-color:#4caf50;background:linear-gradient(135deg,#e8f5e9,#fff)}.alert-card.alert-info[data-v-23342cf9]{border-color:#2196f3;background:linear-gradient(135deg,#e3f2fd,#fff)}.alert-header[data-v-23342cf9]{display:flex;align-items:center;justify-content:space-between}.alert-badge[data-v-23342cf9]{padding:4px 12px;border-radius:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#ffa726;color:#fff}.alert-badge.maintenance[data-v-23342cf9]{background:#4caf50}.alert-badge.info[data-v-23342cf9]{background:#2196f3}.alert-number[data-v-23342cf9]{font-size:48px;font-weight:700;color:#333;line-height:1}.alert-icon[data-v-23342cf9]{font-size:32px;flex-shrink:0;line-height:1}.alert-content[data-v-23342cf9]{flex:1;display:flex;flex-direction:column;gap:12px}.alert-content h3[data-v-23342cf9]{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 6px;line-height:1.4}.alert-location[data-v-23342cf9]{font-size:12px;color:#666;margin:0}.btn-view-towers[data-v-23342cf9]{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-view-towers[data-v-23342cf9]:hover{background:#45a049}.tabs-section[data-v-23342cf9]{display:flex;padding:0 16px;gap:8px;background:#fff;border-bottom:2px solid #e0e0e0}.tab-btn[data-v-23342cf9]{padding:12px 16px;background:none;border:none;font-size:14px;font-weight:500;color:#666;cursor:pointer;position:relative;transition:all .2s}.tab-btn.active[data-v-23342cf9]{color:#4caf50;font-weight:600}.tab-btn.active[data-v-23342cf9]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#4caf50}.activities-section[data-v-23342cf9]{flex:1;padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;overflow-y:auto;align-content:start}.activity-card[data-v-23342cf9]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000f;transition:all .2s;display:flex;flex-direction:column;border:1px solid #e8e8e8}.activity-card[data-v-23342cf9]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-image-wrapper[data-v-23342cf9]{width:100%;height:140px;overflow:hidden;background:#f5f5f5}.card-image[data-v-23342cf9]{width:100%;height:100%;object-fit:cover}.card-content[data-v-23342cf9]{padding:14px;display:flex;flex-direction:column;gap:10px}.job-title[data-v-23342cf9]{font-size:14px;font-weight:600;color:#1a1a1a;margin:0;line-height:1.3}.info-grid[data-v-23342cf9]{display:flex;flex-direction:column;gap:8px;margin:4px 0}.info-row[data-v-23342cf9]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-cell[data-v-23342cf9]{display:flex;align-items:center;gap:6px;font-size:11px;color:#666;line-height:1.4}.info-cell svg[data-v-23342cf9]{flex-shrink:0;color:#999;width:14px;height:14px}.info-cell span[data-v-23342cf9]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-info[data-v-23342cf9]{padding:16px}.activity-meta[data-v-23342cf9]{display:flex;gap:16px;margin-bottom:10px}.meta-item[data-v-23342cf9]{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.activity-footer[data-v-23342cf9]{display:flex;justify-content:space-between;margin-bottom:12px;font-size:12px;color:#666}.btn-view-job[data-v-23342cf9]{width:100%;padding:9px 16px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:6px}.btn-view-job[data-v-23342cf9]:hover{background:#45a049}.btn-view-details[data-v-23342cf9]{width:100%;padding:10px 16px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px}.btn-view-details[data-v-23342cf9]:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.map-panel[data-v-23342cf9]{width:60%;flex:0 0 60%;position:relative;background:#e8f5e9}.search-control[data-v-23342cf9]{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:24px;box-shadow:0 2px 8px #0000001a}.search-control input[data-v-23342cf9]{border:none;outline:none;font-size:14px;width:250px}.map-container[data-v-23342cf9]{width:100%;height:100%;position:relative;background:#e8f5e9}[data-v-23342cf9] .leaflet-container{width:100%;height:100%;z-index:1}[data-v-23342cf9] .custom-marker{background:transparent;border:none}.custom-info-window[data-v-23342cf9]{position:absolute;width:320px;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;z-index:15;overflow:hidden;animation:popupSlide-23342cf9 .3s ease}@keyframes popupSlide-23342cf9{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.close-btn[data-v-23342cf9]{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s}.close-btn[data-v-23342cf9]:hover{background:#fff;border-color:#4caf50}.info-window-content[data-v-23342cf9]{padding:20px;overflow-y:auto;max-height:80vh}.info-tower-name[data-v-23342cf9]{font-size:18px;font-weight:700;color:#333;margin:0 0 4px;padding-right:30px}.info-tower-id[data-v-23342cf9]{font-size:12px;color:#999;margin:0 0 8px}.info-tower-location[data-v-23342cf9]{display:flex;align-items:center;gap:6px;font-size:12px;color:#666;margin-bottom:16px}.info-image-container[data-v-23342cf9]{margin-bottom:16px;border-radius:12px;overflow:hidden}.info-image[data-v-23342cf9]{width:100%;height:140px;object-fit:cover}.info-tabs[data-v-23342cf9]{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:12px;gap:4px}.info-tab[data-v-23342cf9]{flex:1;padding:10px 12px;background:none;border:none;font-size:13px;font-weight:500;color:#666;cursor:pointer;position:relative;transition:all .2s}.info-tab.active[data-v-23342cf9]{color:#4caf50;font-weight:600}.info-tab.active[data-v-23342cf9]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#4caf50}.info-tab-content[data-v-23342cf9]{margin-bottom:16px;min-height:100px}.info-highlights[data-v-23342cf9],.info-recommendations[data-v-23342cf9]{display:flex;flex-direction:column;gap:8px}.info-highlight-item[data-v-23342cf9],.info-recommendation-item[data-v-23342cf9]{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#f9f9f9;border-radius:8px;font-size:12px}.highlight-number[data-v-23342cf9],.recommendation-number[data-v-23342cf9]{width:22px;height:22px;background:#4caf50;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.highlight-text[data-v-23342cf9],.recommendation-text[data-v-23342cf9]{color:#333;line-height:1.5}.btn-view-full[data-v-23342cf9]{width:100%;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-full[data-v-23342cf9]:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d}.zoom-controls[data-v-23342cf9]{position:absolute;bottom:30px;right:30px;z-index:10;display:flex;flex-direction:column;gap:8px}.zoom-btn[data-v-23342cf9]{width:40px;height:40px;background:#fff;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;font-size:20px;font-weight:600;color:#333}.zoom-btn[data-v-23342cf9]:hover{background:#f5f5f5;transform:scale(1.05)}.left-panel[data-v-23342cf9]::-webkit-scrollbar,.activities-section[data-v-23342cf9]::-webkit-scrollbar{width:6px}.left-panel[data-v-23342cf9]::-webkit-scrollbar-track,.activities-section[data-v-23342cf9]::-webkit-scrollbar-track{background:#f1f1f1}.left-panel[data-v-23342cf9]::-webkit-scrollbar-thumb,.activities-section[data-v-23342cf9]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.modal-overlay[data-v-23342cf9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-23342cf9 .2s ease}@keyframes fadeIn-23342cf9{0%{opacity:0}to{opacity:1}}.modal-container[data-v-23342cf9]{background:#fff;border-radius:20px;width:90%;max-width:480px;max-height:90vh;overflow:hidden;position:relative;animation:slideUp-23342cf9 .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp-23342cf9{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn[data-v-23342cf9]{position:absolute;top:16px;right:16px;width:36px;height:36px;background:#fffffff2;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s;box-shadow:0 2px 8px #0000001a}.modal-close-btn[data-v-23342cf9]:hover{background:#fff;transform:scale(1.1)}.modal-header[data-v-23342cf9]{padding:20px 24px;border-bottom:1px solid #e8e8e8}.modal-title[data-v-23342cf9]{font-size:20px;font-weight:700;color:#333;margin:0}.modal-content[data-v-23342cf9]{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.modal-image-container[data-v-23342cf9]{margin-bottom:20px;border-radius:16px;overflow:hidden}.modal-image[data-v-23342cf9]{width:100%;height:220px;object-fit:cover}.activity-modal-title[data-v-23342cf9]{font-size:22px;font-weight:700;color:#333;margin:0 0 12px}.activity-modal-description[data-v-23342cf9]{font-size:14px;color:#666;line-height:1.6;margin:0 0 24px}.activity-details-grid[data-v-23342cf9]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.detail-item[data-v-23342cf9]{display:flex;align-items:center;gap:12px;padding:14px;background:#f9f9f9;border-radius:12px}.detail-icon[data-v-23342cf9]{font-size:24px;flex-shrink:0}.detail-text[data-v-23342cf9]{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-label[data-v-23342cf9]{font-size:11px;color:#999;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-23342cf9]{font-size:13px;color:#333;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-status[data-v-23342cf9]{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:#f9f9f9;border-radius:12px}.status-label[data-v-23342cf9]{font-size:14px;font-weight:600;color:#666}.status-badge-modal[data-v-23342cf9]{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:capitalize}.status-badge-modal.ongoing[data-v-23342cf9]{background:#e3f2fd;color:#1976d2}.status-badge-modal.pending[data-v-23342cf9]{background:#fff3e0;color:#f57c00}.status-badge-modal.done[data-v-23342cf9]{background:#e8f5e9;color:#388e3c}.btn-assign-vendor[data-v-23342cf9]{width:100%;padding:16px;background:#4caf50;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-assign-vendor[data-v-23342cf9]:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 6px 20px #4caf504d}.workflow-modal[data-v-23342cf9]{max-width:640px}.step-indicator[data-v-23342cf9]{display:flex;justify-content:center;align-items:center;gap:12px;padding:20px 24px 10px}.step-dot[data-v-23342cf9]{width:36px;height:36px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .3s}.step-dot.active[data-v-23342cf9]{background:#4caf50;color:#fff;transform:scale(1.15)}.step-dot.completed[data-v-23342cf9]{background:#81c784;color:#fff}.step-subtitle[data-v-23342cf9]{font-size:13px;color:#999;margin:4px 0 0;text-align:center}.workflow-content[data-v-23342cf9]{min-height:400px;max-height:calc(90vh - 300px)}.step-content[data-v-23342cf9]{animation:fadeInStep-23342cf9 .3s ease}@keyframes fadeInStep-23342cf9{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-description[data-v-23342cf9]{font-size:14px;color:#666;margin:0 0 20px;text-align:center}.vendors-grid[data-v-23342cf9]{display:grid;grid-template-columns:1fr;gap:12px;max-height:450px;overflow-y:auto;padding:4px}.vendor-card[data-v-23342cf9]{display:flex;align-items:center;gap:16px;padding:16px;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.vendor-card[data-v-23342cf9]:hover{border-color:#4caf50;background:#f5fff5;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}.vendor-card.selected[data-v-23342cf9]{border-color:#4caf50;background:#e8f5e9;box-shadow:0 4px 16px #4caf5033}.vendor-avatar[data-v-23342cf9]{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0}.vendor-avatar img[data-v-23342cf9]{width:100%;height:100%;object-fit:cover}.vendor-info[data-v-23342cf9]{flex:1;min-width:0}.vendor-name[data-v-23342cf9]{font-size:16px;font-weight:600;color:#333;margin:0 0 4px}.vendor-company[data-v-23342cf9]{font-size:13px;color:#666;margin:0 0 4px}.vendor-specialization[data-v-23342cf9]{font-size:12px;color:#4caf50;font-weight:500;margin:0 0 8px}.vendor-meta[data-v-23342cf9]{display:flex;gap:16px;font-size:12px;color:#999}.vendor-rating[data-v-23342cf9]{font-weight:600;color:#ff9800}.selected-check[data-v-23342cf9]{width:32px;height:32px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.datetime-picker[data-v-23342cf9]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.form-group[data-v-23342cf9]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-23342cf9]{font-size:14px;font-weight:600;color:#333}.form-input[data-v-23342cf9],.form-textarea[data-v-23342cf9]{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .2s}.form-input[data-v-23342cf9]:focus,.form-textarea[data-v-23342cf9]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-textarea[data-v-23342cf9]{resize:vertical;font-family:inherit}.selected-datetime-display[data-v-23342cf9]{display:flex;align-items:center;gap:16px;padding:20px;background:#e8f5e9;border-radius:12px;border:2px solid #4CAF50}.datetime-icon[data-v-23342cf9]{font-size:32px;flex-shrink:0}.datetime-text[data-v-23342cf9]{flex:1}.datetime-label[data-v-23342cf9]{font-size:12px;color:#666;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.datetime-value[data-v-23342cf9]{font-size:16px;font-weight:600;color:#333;margin:0}.tasks-list[data-v-23342cf9]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-height:350px;overflow-y:auto;padding:4px}.task-item[data-v-23342cf9]{display:flex;align-items:center;gap:12px;padding:14px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s}.task-item[data-v-23342cf9]:hover{background:#f5f5f5}.task-checkbox[data-v-23342cf9]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.task-label[data-v-23342cf9]{flex:1;font-size:14px;color:#333;cursor:pointer}.btn-remove-task[data-v-23342cf9]{width:28px;height:28px;background:#f44336;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-remove-task[data-v-23342cf9]:hover{background:#d32f2f;transform:scale(1.1)}.add-task-form[data-v-23342cf9]{display:flex;gap:12px}.task-input[data-v-23342cf9]{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px}.task-input[data-v-23342cf9]:focus{outline:none;border-color:#4caf50}.btn-add-task[data-v-23342cf9]{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-task[data-v-23342cf9]:hover{background:#45a049}.review-section[data-v-23342cf9]{display:flex;flex-direction:column;gap:20px;padding:4px}.review-item[data-v-23342cf9]{padding:16px;background:#f9f9f9;border-radius:12px;border:1px solid #e0e0e0}.review-label[data-v-23342cf9]{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.review-value[data-v-23342cf9]{font-size:15px;font-weight:600;color:#333;margin:0}.review-subvalue[data-v-23342cf9]{font-size:13px;color:#666;margin:4px 0 0}.review-vendor[data-v-23342cf9]{display:flex;align-items:center;gap:12px}.review-vendor-avatar[data-v-23342cf9]{width:48px;height:48px;border-radius:50%;object-fit:cover}.review-tasks-list[data-v-23342cf9]{margin:8px 0 0;padding-left:20px}.review-tasks-list li[data-v-23342cf9]{font-size:14px;color:#666;margin-bottom:6px;line-height:1.5}.modal-footer[data-v-23342cf9]{display:flex;justify-content:space-between;gap:12px;padding:20px 24px;border-top:1px solid #e8e8e8;background:#f9f9f9}.btn-primary[data-v-23342cf9],.btn-secondary[data-v-23342cf9],.btn-success[data-v-23342cf9]{flex:1;padding:14px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-23342cf9]{background:#4caf50;color:#fff}.btn-primary[data-v-23342cf9]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-secondary[data-v-23342cf9]{background:#e0e0e0;color:#666}.btn-secondary[data-v-23342cf9]:hover:not(:disabled){background:#d0d0d0}.btn-success[data-v-23342cf9]{background:#4caf50;color:#fff}.btn-success[data-v-23342cf9]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-primary[data-v-23342cf9]:disabled,.btn-secondary[data-v-23342cf9]:disabled,.btn-success[data-v-23342cf9]:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-state[data-v-23342cf9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.spinner[data-v-23342cf9]{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;animation:spin-23342cf9 1s linear infinite}@keyframes spin-23342cf9{to{transform:rotate(360deg)}}.loading-state p[data-v-23342cf9]{font-size:14px;color:#666;margin:0}.error-message[data-v-23342cf9]{padding:12px 16px;background:#ffebee;color:#c62828;border-radius:8px;font-size:14px;margin-top:16px;text-align:center}@media (max-width: 1024px){.left-panel[data-v-23342cf9]{width:350px}.activities-section[data-v-23342cf9]{grid-template-columns:1fr}}@media (max-width: 768px){.main-content[data-v-23342cf9]{flex-direction:column}.activities-section[data-v-23342cf9]{grid-template-columns:1fr}.carousel-prev[data-v-23342cf9]{left:8px}.carousel-next[data-v-23342cf9]{right:8px}.left-panel[data-v-23342cf9]{width:100%;max-height:50vh}.map-panel[data-v-23342cf9]{height:50vh}.custom-info-window[data-v-23342cf9]{width:calc(100% - 32px);left:16px;right:16px;top:auto;bottom:20px;transform:none!important}.activity-details-grid[data-v-23342cf9]{grid-template-columns:1fr}.modal-container[data-v-23342cf9]{width:95%;max-height:95vh}.workflow-modal[data-v-23342cf9]{max-width:95%}.datetime-picker[data-v-23342cf9]{grid-template-columns:1fr}.vendors-grid[data-v-23342cf9]{max-height:350px}}.create-task-wizard[data-v-abb6ebed]{max-width:900px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px}.modal-header[data-v-abb6ebed]{padding:20px 24px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.breadcrumb[data-v-abb6ebed]{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-link[data-v-abb6ebed]{color:#64748b;cursor:pointer}.breadcrumb-link[data-v-abb6ebed]:hover{color:#2e7d32}.breadcrumb-separator[data-v-abb6ebed]{color:#cbd5e1}.breadcrumb-current[data-v-abb6ebed]{color:#2e7d32;font-weight:600}.btn-close[data-v-abb6ebed]{background:transparent;border:none;font-size:24px;color:#64748b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.btn-close[data-v-abb6ebed]:hover{background:#f1f5f9;color:#dc2626}.btn-back[data-v-abb6ebed]{margin:0 24px 16px;display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#2e7d32;font-size:14px;font-weight:600;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.btn-back[data-v-abb6ebed]:hover{background:#f1f5f9}.modal-body[data-v-abb6ebed]{padding:0;flex:1;overflow-y:auto}.step-content[data-v-abb6ebed]{padding:30px 40px 40px;background:#fff}.step-title[data-v-abb6ebed]{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 10px}.step-subtitle[data-v-abb6ebed]{font-size:15px;color:#666;margin:0 0 32px;font-weight:400}.tower-grid[data-v-abb6ebed]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:30px}.tower-card[data-v-abb6ebed]{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.tower-card[data-v-abb6ebed]:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf501a}.tower-card.selected[data-v-abb6ebed]{border-color:#4caf50;background:#f1f8f4}.tower-card-header[data-v-abb6ebed]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.tower-info[data-v-abb6ebed]{flex:1}.tower-name[data-v-abb6ebed]{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.tower-location[data-v-abb6ebed]{font-size:13px;color:#666}.selected-icon[data-v-abb6ebed]{width:24px;height:24px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected-icon svg[data-v-abb6ebed]{stroke:#fff}.tower-coords[data-v-abb6ebed]{display:flex;align-items:center;gap:6px;font-size:12px;color:#888}.tower-coords svg[data-v-abb6ebed]{stroke:#888}.form-group[data-v-abb6ebed]{margin-bottom:20px;position:relative}.form-label[data-v-abb6ebed]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-abb6ebed],.form-input-large[data-v-abb6ebed],.form-select[data-v-abb6ebed]{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;color:#1a1a1a;background:#fff;transition:all .2s;font-family:inherit}.form-input[data-v-abb6ebed]:focus,.form-input-large[data-v-abb6ebed]:focus,.form-select[data-v-abb6ebed]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-input[data-v-abb6ebed]::placeholder,.form-input-large[data-v-abb6ebed]::placeholder{color:#999;font-weight:400}.form-input-large[data-v-abb6ebed]{font-size:16px;font-weight:500;background:#f5f5f5}.form-input-large[data-v-abb6ebed]:read-only{cursor:not-allowed;background:#f9f9f9;color:#666}.form-select[data-v-abb6ebed]{-webkit-appearance:none;-moz-appearance:none;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='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.form-select option[data-v-abb6ebed]{padding:10px}.form-row[data-v-abb6ebed]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.btn-continue[data-v-abb6ebed]{width:100%;padding:16px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:32px;box-shadow:0 2px 4px #0000001a}.btn-continue[data-v-abb6ebed]:hover:not(:disabled){background:#45a049;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-continue[data-v-abb6ebed]:disabled{background:#ccc;cursor:not-allowed;box-shadow:none;transform:none}.checklists-section[data-v-abb6ebed]{margin-bottom:32px}.checklists-header[data-v-abb6ebed]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-weight:600;color:#1a1a1a;font-size:16px}.btn-add-checklist[data-v-abb6ebed]{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:2px solid #4CAF50;color:#4caf50;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-checklist[data-v-abb6ebed]:hover{background:#f1f8f4;transform:translateY(-1px);box-shadow:0 2px 4px #4caf5033}.checklist-card[data-v-abb6ebed]{background:#fafafa;border:1px solid #e8e8e8;border-radius:12px;padding:20px;margin-bottom:16px}.checklist-header[data-v-abb6ebed]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-weight:600;color:#1a1a1a;font-size:15px}.btn-remove-checklist[data-v-abb6ebed]{background:none;border:none;color:#f44336;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:4px}.btn-remove-checklist[data-v-abb6ebed]:hover{color:#d32f2f;background:#ffebee}.summary-section[data-v-abb6ebed]{background:#fafafa;border-radius:12px;padding:28px;margin-bottom:24px;border:1px solid #e8e8e8}.summary-header[data-v-abb6ebed]{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.summary-item[data-v-abb6ebed]{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e8e8e8}.summary-item[data-v-abb6ebed]:last-child{border-bottom:none}.summary-label[data-v-abb6ebed]{font-size:15px;color:#666;font-weight:500}.summary-value[data-v-abb6ebed]{font-size:15px;font-weight:600;color:#1a1a1a;text-align:right}.summary-row[data-v-abb6ebed]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.summary-row .summary-item[data-v-abb6ebed]{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.summary-checklist[data-v-abb6ebed]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border-radius:8px;margin-top:10px;border:1px solid #e8e8e8}.checklist-name[data-v-abb6ebed]{flex:1;font-size:15px;color:#1a1a1a;font-weight:500}.checklist-time[data-v-abb6ebed]{font-size:14px;color:#666;margin-right:12px}.success-content[data-v-abb6ebed]{text-align:center;padding:50px 40px 40px}.success-icon[data-v-abb6ebed]{width:100px;height:100px;margin:0 auto 28px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-title[data-v-abb6ebed]{font-size:36px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.success-message[data-v-abb6ebed]{font-size:16px;color:#666;margin:0 0 40px;line-height:1.5}.success-details[data-v-abb6ebed]{background:#fafafa;border-radius:12px;padding:28px;text-align:left;margin-bottom:28px;border:1px solid #e8e8e8}.detail-row[data-v-abb6ebed]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e8e8e8}.detail-row[data-v-abb6ebed]:last-of-type{border-bottom:none}.detail-label[data-v-abb6ebed]{font-size:15px;color:#666;font-weight:500}.detail-value[data-v-abb6ebed]{font-size:15px;font-weight:600;color:#1a1a1a;text-align:right}.detail-section-header[data-v-abb6ebed]{font-size:18px;font-weight:700;color:#1a1a1a;margin:24px 0 16px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.task-item[data-v-abb6ebed]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e8e8e8}.task-item[data-v-abb6ebed]:last-child{border-bottom:none}.task-name[data-v-abb6ebed]{font-size:15px;color:#1a1a1a;font-weight:500}.task-time[data-v-abb6ebed]{font-size:14px;color:#666}.btn-submit[data-v-abb6ebed]{background:#4caf50}.preventive-maintenance-page[data-v-ce988f63]{height:100%;background:#f8f9fa;display:flex;flex-direction:column}.main-container[data-v-ce988f63]{display:flex;flex:1;gap:24px;padding:24px;overflow:hidden;min-height:0}.left-panel[data-v-ce988f63]{flex:1;display:flex;flex-direction:column;gap:20px;max-width:900px;overflow:hidden;min-height:0}.page-title[data-v-ce988f63]{font-size:28px;font-weight:700;color:#1e293b;margin:0;flex-shrink:0}.search-section[data-v-ce988f63]{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.search-box[data-v-ce988f63]{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #E2E8F0}.search-box svg[data-v-ce988f63]{color:#94a3b8}.search-box input[data-v-ce988f63]{flex:1;border:none;outline:none;font-size:14px;color:#1e293b}.filters-row[data-v-ce988f63]{display:flex;gap:12px}.filter-select[data-v-ce988f63]{flex:1;padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#64748b;background:#fff;cursor:pointer}.tower-list[data-v-ce988f63]{flex:1;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.tower-card[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.tower-card[data-v-ce988f63]:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tower-card-header[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tower-type-label[data-v-ce988f63]{font-size:11px;font-weight:700;color:#4caf50;letter-spacing:1px}.tower-status[data-v-ce988f63]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.tower-status.Active[data-v-ce988f63]{background:#d4ed57;color:#2e7d32}.tower-status.Inactive[data-v-ce988f63]{background:#ffe0e0;color:#dc2626}.tower-name[data-v-ce988f63]{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 12px}.tower-info-grid[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.info-item[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.info-item svg[data-v-ce988f63]{color:#94a3b8}.tower-coords[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin-top:4px}.tower-coords svg[data-v-ce988f63]{color:#94a3b8}.right-panel[data-v-ce988f63]{width:350px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.tools-title[data-v-ce988f63]{font-size:24px;font-weight:700;color:#1e293b;margin:0;flex-shrink:0}.tools-list[data-v-ce988f63]{flex:1;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.tool-card[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.tool-card[data-v-ce988f63]:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tool-category[data-v-ce988f63]{font-size:11px;font-weight:700;color:#4caf50;letter-spacing:1px;margin-bottom:6px}.tool-name[data-v-ce988f63]{font-size:14px;font-weight:600;color:#1e293b}.modal-overlay[data-v-ce988f63]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-ce988f63]{background:#fff;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-ce988f63]{padding:20px 24px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.modal-header h2[data-v-ce988f63]{font-size:24px;font-weight:700;color:#1e293b;margin:0}.btn-close[data-v-ce988f63]{background:transparent;border:none;font-size:24px;color:#64748b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.btn-close[data-v-ce988f63]:hover{background:#f1f5f9;color:#dc2626}.modal-body[data-v-ce988f63]{flex:1;overflow-y:auto;padding:24px}.tower-details-top[data-v-ce988f63]{display:flex;gap:20px;margin-bottom:20px}.tower-image[data-v-ce988f63]{width:50%;height:280px;border-radius:12px;overflow:hidden;flex-shrink:0}.tower-image img[data-v-ce988f63]{width:100%;height:100%;object-fit:cover}.tower-details-info[data-v-ce988f63]{flex:1;display:flex;flex-direction:column}.detail-label[data-v-ce988f63]{font-size:11px;font-weight:700;color:#4caf50;letter-spacing:1px;margin-bottom:8px}.detail-tower-name[data-v-ce988f63]{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 16px}.detail-grid[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item[data-v-ce988f63]{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.detail-item svg[data-v-ce988f63]{color:#94a3b8}.tower-map[data-v-ce988f63]{margin-bottom:20px;border-radius:12px;overflow:hidden}.tools-grid[data-v-ce988f63]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tool-item[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.tool-item[data-v-ce988f63]:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tool-item-header[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:flex-start}.tool-item-category[data-v-ce988f63]{font-size:11px;font-weight:700;color:#4caf50;letter-spacing:1px;margin-bottom:6px}.tool-item-name[data-v-ce988f63]{font-size:14px;font-weight:600;color:#1e293b}.tool-badge[data-v-ce988f63]{background:#dc2626;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.tower-selection-modal[data-v-ce988f63]{max-width:900px}.tool-modal-title[data-v-ce988f63]{color:#4caf50;font-size:24px;font-weight:700}.selection-header[data-v-ce988f63]{margin-bottom:20px}.selection-title[data-v-ce988f63]{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.selection-subtitle[data-v-ce988f63]{font-size:14px;color:#64748b;margin:0}.tower-selection-list[data-v-ce988f63]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:0;margin-top:16px;max-height:400px}.tower-selection-card[data-v-ce988f63]{background:#fff;border:2px solid #E2E8F0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.tower-selection-card[data-v-ce988f63]:hover{border-color:#94a3b8;box-shadow:0 4px 12px #00000014}.tower-selection-card.selected[data-v-ce988f63]{border-color:#4caf50;background:#f1f8f4;box-shadow:0 0 0 3px #4caf501a}.modal-footer[data-v-ce988f63]{padding-top:20px;border-top:1px solid #E2E8F0;margin-top:20px;display:flex;justify-content:flex-end}.btn-continue[data-v-ce988f63]{padding:12px 32px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-continue[data-v-ce988f63]:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-continue[data-v-ce988f63]:disabled{background:#cbd5e1;cursor:not-allowed}.breadcrumb[data-v-ce988f63]{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-link[data-v-ce988f63]{color:#64748b;cursor:pointer}.breadcrumb-link[data-v-ce988f63]:hover{color:#2e7d32}.breadcrumb-separator[data-v-ce988f63]{color:#cbd5e1}.breadcrumb-current[data-v-ce988f63]{color:#2e7d32;font-weight:600}.btn-back[data-v-ce988f63]{margin:0 24px 16px;display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#2e7d32;font-size:14px;font-weight:600;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.btn-back[data-v-ce988f63]:hover{background:#f1f5f9}.table-container[data-v-ce988f63]{overflow-x:auto}.asset-table[data-v-ce988f63]{width:100%;border-collapse:collapse}.asset-table th[data-v-ce988f63]{text-align:left;padding:12px;background:#f8f9fa;font-size:13px;font-weight:600;color:#64748b;border-bottom:2px solid #E2E8F0}.asset-table td[data-v-ce988f63]{padding:16px 12px;border-bottom:1px solid #E2E8F0;font-size:14px;color:#1e293b}.condition-badge[data-v-ce988f63]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.condition-badge.new[data-v-ce988f63]{background:#d4ed57;color:#2e7d32}.condition-badge.old[data-v-ce988f63]{background:#fef3c7;color:#d97706}.asset-thumbnail[data-v-ce988f63]{width:60px;height:60px;object-fit:cover;border-radius:8px}.action-buttons[data-v-ce988f63]{display:flex;gap:8px}.btn-action[data-v-ce988f63]{background:transparent;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s}.btn-action.edit[data-v-ce988f63]{color:#2e7d32}.btn-action.edit[data-v-ce988f63]:hover{background:#e8f5e9}.btn-action.delete[data-v-ce988f63]{color:#dc2626}.btn-action.delete[data-v-ce988f63]:hover{background:#fee2e2}.tower-list[data-v-ce988f63]::-webkit-scrollbar,.tools-list[data-v-ce988f63]::-webkit-scrollbar,.modal-body[data-v-ce988f63]::-webkit-scrollbar{width:6px}.tower-list[data-v-ce988f63]::-webkit-scrollbar-track,.tools-list[data-v-ce988f63]::-webkit-scrollbar-track,.modal-body[data-v-ce988f63]::-webkit-scrollbar-track{background:#f1f5f9}.tower-list[data-v-ce988f63]::-webkit-scrollbar-thumb,.tools-list[data-v-ce988f63]::-webkit-scrollbar-thumb,.modal-body[data-v-ce988f63]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.aircon-modal[data-v-ce988f63]{max-width:900px}.aircon-actions[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.left-actions[data-v-ce988f63]{display:flex;gap:12px}.btn-view-as-manager[data-v-ce988f63]{padding:10px 20px;background:#e8f5e9;color:#2e7d32;border:1px solid #C8E6C9;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-as-manager[data-v-ce988f63]:hover{background:#c8e6c9}.right-actions[data-v-ce988f63]{display:flex;gap:12px}.btn-create-task[data-v-ce988f63]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-task[data-v-ce988f63]:hover{background:#45a049;transform:translateY(-1px)}.btn-view-toggle[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s}.btn-view-toggle[data-v-ce988f63]:hover{background:#f8f9fa}.aircon-section[data-v-ce988f63]{margin-bottom:32px}.section-header-with-nav[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title-aircon[data-v-ce988f63]{font-size:20px;font-weight:700;color:#1e293b;margin:0}.nav-arrows[data-v-ce988f63]{display:flex;gap:8px}.nav-arrow-btn[data-v-ce988f63]{width:40px;height:40px;border-radius:50%;border:1px solid #E2E8F0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.nav-arrow-btn[data-v-ce988f63]:hover{background:#f8f9fa;border-color:#cbd5e0;transform:scale(1.05)}.nav-arrow-btn svg[data-v-ce988f63]{color:#64748b}.upcoming-services-container[data-v-ce988f63]{position:relative;margin-bottom:24px}.upcoming-services-scroll[data-v-ce988f63]{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:8px;-webkit-overflow-scrolling:touch}.upcoming-services-scroll[data-v-ce988f63]::-webkit-scrollbar{height:6px}.upcoming-services-scroll[data-v-ce988f63]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.upcoming-services-scroll[data-v-ce988f63]::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.upcoming-services-scroll[data-v-ce988f63]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.service-card[data-v-ce988f63]{background:#e8f5e9;border:1px solid #C8E6C9;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;min-width:450px;flex-shrink:0}.service-info[data-v-ce988f63]{flex:1}.service-label[data-v-ce988f63]{font-size:11px;font-weight:700;color:#2e7d32;letter-spacing:1px;margin-bottom:6px}.service-text[data-v-ce988f63]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:6px}.service-location[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.service-location svg[data-v-ce988f63]{color:#94a3b8}.btn-add-service[data-v-ce988f63]{background:#4caf50;color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-add-service[data-v-ce988f63]:hover{background:#45a049;transform:scale(1.05)}.punch-tabs[data-v-ce988f63]{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid #E2E8F0;padding-bottom:0}.tab-btn[data-v-ce988f63]{padding:10px 20px;background:transparent;border:none;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn[data-v-ce988f63]:hover{color:#2e7d32}.tab-btn.active[data-v-ce988f63]{color:#2e7d32;border-bottom-color:#4caf50}.task-card-main[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:20px}.task-header-main[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-id[data-v-ce988f63]{font-size:12px;font-weight:700;color:#64748b;letter-spacing:1px}.task-status-badge[data-v-ce988f63]{padding:6px 16px;background:#fef3c7;color:#d97706;border-radius:12px;font-size:12px;font-weight:600}.task-title-main[data-v-ce988f63]{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 16px}.task-details-grid[data-v-ce988f63]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.task-detail-item[data-v-ce988f63]{display:flex;flex-direction:column;gap:6px}.task-detail-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.task-detail-value[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:14px;color:#1e293b;font-weight:500}.task-detail-value svg[data-v-ce988f63]{color:#94a3b8}.task-detail-time[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin-top:4px}.task-detail-time svg[data-v-ce988f63]{color:#94a3b8}.subtasks-list[data-v-ce988f63]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px}.subtask-item[data-v-ce988f63]{display:flex;align-items:center;justify-content:space-between;gap:12px}.subtask-name[data-v-ce988f63]{flex:1;font-size:14px;color:#1e293b;font-weight:500}.subtask-duration[data-v-ce988f63]{font-size:13px;color:#64748b}.subtask-checkbox[data-v-ce988f63]{width:20px;height:20px;cursor:pointer;accent-color:#4CAF50}.btn-check-in[data-v-ce988f63]{width:100%;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-check-in[data-v-ce988f63]:hover{background:#45a049;transform:translateY(-1px)}.btn-execute-task[data-v-ce988f63]{width:100%;padding:12px;background:#ff9800;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-execute-task[data-v-ce988f63]:hover{background:#f57c00;transform:translateY(-1px)}.btn-execute-task[data-v-ce988f63]:disabled{background:#bdbdbd;cursor:not-allowed;opacity:.6}.review-card-wrapper[data-v-ce988f63]{margin-top:20px}.task-reviewed-banner[data-v-ce988f63]{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#e8f5e9;border:1px solid #C8E6C9;border-radius:8px 8px 0 0;font-size:14px;font-weight:600;color:#2e7d32}.task-reviewed-banner svg[data-v-ce988f63]{color:#4caf50}.task-done-banner[data-v-ce988f63]{background:#e3f2fd;border-color:#90caf9;color:#1976d2}.task-done-banner svg[data-v-ce988f63]{color:#2196f3}.task-status-badge.in-review[data-v-ce988f63]{background:#fef3c7;color:#d97706}.task-status-badge.done[data-v-ce988f63]{background:#e3f2fd;color:#1976d2}.time-token-display[data-v-ce988f63]{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.time-token-label[data-v-ce988f63]{font-size:13px;font-weight:600;color:#64748b}.time-token-value-display[data-v-ce988f63]{font-size:16px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}.btn-view-details-full[data-v-ce988f63]{width:100%;padding:12px;margin-top:16px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-details-full[data-v-ce988f63]:hover{background:#45a049;transform:translateY(-1px)}.btn-view-details-full[data-v-ce988f63]:disabled{background:#bdbdbd;cursor:not-allowed;opacity:.6}.review-section[data-v-ce988f63]{margin-top:16px;display:grid;grid-template-columns:1fr;gap:16px}.review-section-single[data-v-ce988f63]{margin-top:16px}.review-box[data-v-ce988f63]{display:flex;flex-direction:column;gap:8px}.review-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.review-input[data-v-ce988f63]{width:100%;min-height:80px;padding:12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1e293b;font-family:inherit;resize:vertical}.review-input[data-v-ce988f63]:focus{outline:none;border-color:#4caf50}.manager-note[data-v-ce988f63]{margin:20px 0;padding:16px;background:#fff9e6;border-left:4px solid #F59E0B;border-radius:8px}.note-greeting[data-v-ce988f63]{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 8px}.note-text[data-v-ce988f63]{font-size:14px;color:#64748b;margin:0}.btn-submit-review[data-v-ce988f63]{width:100%;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit-review[data-v-ce988f63]:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn-submit-review[data-v-ce988f63]:disabled{background:#94c896;cursor:not-allowed;transform:none}.btn-submit-review .loading-text[data-v-ce988f63]{display:flex;align-items:center;gap:8px;justify-content:center}.btn-submit-review .spinner[data-v-ce988f63]{animation:spin-ce988f63 1s linear infinite}.btn-done[data-v-ce988f63]{width:100%;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.checkin-modal[data-v-ce988f63]{max-width:480px}.modal-header-simple[data-v-ce988f63]{padding:20px 24px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.modal-header-simple h3[data-v-ce988f63]{font-size:20px;font-weight:700;color:#1e293b;margin:0}.modal-body-simple[data-v-ce988f63]{padding:24px}.checkin-map[data-v-ce988f63]{margin-bottom:20px;border-radius:8px;overflow:hidden}.checkin-message[data-v-ce988f63]{font-size:16px;font-weight:600;color:#1e293b;text-align:center;margin:0 0 8px}.checkin-warning[data-v-ce988f63]{font-size:14px;color:#64748b;text-align:center;margin:0 0 24px}.checkin-actions[data-v-ce988f63]{display:flex;gap:12px}.btn-checkin-confirm[data-v-ce988f63]{flex:1;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-checkin-confirm[data-v-ce988f63]:hover{background:#45a049}.btn-checkin-cancel[data-v-ce988f63]{flex:1;padding:12px;background:#fff;color:#64748b;border:1px solid #E2E8F0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-checkin-cancel[data-v-ce988f63]:hover{background:#f8f9fa}.task-details-modal[data-v-ce988f63]{max-width:1000px}.task-details-header[data-v-ce988f63]{margin-bottom:24px}.task-details-title-row[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.task-id-small[data-v-ce988f63]{font-size:12px;font-weight:700;color:#64748b;letter-spacing:1px;margin-bottom:8px}.task-details-title[data-v-ce988f63]{font-size:20px;font-weight:700;color:#1e293b;margin:0}.task-status-badge-large[data-v-ce988f63]{padding:8px 20px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:14px;font-weight:600}.task-meta-row[data-v-ce988f63]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:16px;background:#f8f9fa;border-radius:8px}.task-meta-item[data-v-ce988f63]{display:flex;flex-direction:column;gap:6px}.meta-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.meta-value[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:14px;color:#1e293b;font-weight:500}.meta-value svg[data-v-ce988f63]{color:#94a3b8}.meta-subvalue[data-v-ce988f63]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin-top:4px}.meta-subvalue svg[data-v-ce988f63]{color:#94a3b8}.task-items-section[data-v-ce988f63]{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.task-item-card[data-v-ce988f63]{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:20px}.task-item-header[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-item-title[data-v-ce988f63]{font-size:16px;font-weight:600;color:#1e293b}.task-item-duration[data-v-ce988f63]{display:flex;align-items:center;gap:12px;font-size:14px;color:#64748b}.task-item-checkbox[data-v-ce988f63]{width:20px;height:20px;cursor:pointer;accent-color:#4CAF50}.upload-section[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.upload-box[data-v-ce988f63]{position:relative;aspect-ratio:16/9;border:2px dashed #CBD5E1;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;overflow:hidden}.upload-box[data-v-ce988f63]:hover{border-color:#4caf50;background:#f8fff9}.upload-placeholder[data-v-ce988f63]{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-placeholder svg[data-v-ce988f63]{color:#4caf50}.upload-label[data-v-ce988f63]{font-size:14px;color:#4caf50;font-weight:600}.uploaded-image[data-v-ce988f63]{width:100%;height:100%;object-fit:cover}.before-label[data-v-ce988f63],.after-label[data-v-ce988f63]{position:absolute;top:12px;left:12px;padding:6px 12px;background:#000000b3;color:#fff;font-size:12px;font-weight:600;border-radius:6px}.after-label[data-v-ce988f63]{background:#4caf50e6}.comments-section[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comment-box[data-v-ce988f63]{display:flex;flex-direction:column;gap:8px}.comment-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.comment-input[data-v-ce988f63]{width:100%;min-height:80px;padding:12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1e293b;font-family:inherit;resize:vertical}.comment-input[data-v-ce988f63]:focus{outline:none;border-color:#4caf50}.task-footer[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #E2E8F0}.time-token[data-v-ce988f63]{display:flex;flex-direction:column;gap:6px}.time-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.time-display[data-v-ce988f63]{font-size:20px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}.btn-complete-job[data-v-ce988f63]{padding:12px 32px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-complete-job[data-v-ce988f63]:hover{background:#45a049;transform:translateY(-1px)}.confirm-job-modal[data-v-ce988f63]{max-width:420px}.confirm-message[data-v-ce988f63]{font-size:16px;font-weight:600;color:#1e293b;text-align:center;margin:0 0 8px}.confirm-warning[data-v-ce988f63]{font-size:14px;color:#64748b;text-align:center;margin:0 0 24px}.confirm-actions[data-v-ce988f63]{display:flex;gap:12px}.btn-confirm-yes[data-v-ce988f63]{flex:1;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-yes[data-v-ce988f63]:hover{background:#45a049}.btn-confirm-no[data-v-ce988f63]{flex:1;padding:12px;background:#fff;color:#64748b;border:1px solid #E2E8F0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-no[data-v-ce988f63]:hover{background:#f8f9fa}.confirm-details-modal[data-v-ce988f63]{max-width:900px}.confirm-details-title[data-v-ce988f63]{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 32px}.details-section[data-v-ce988f63]{margin-bottom:32px}.details-section-title[data-v-ce988f63]{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 16px}.details-form[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-ce988f63]{display:flex;flex-direction:column;gap:8px}.form-group.full-width[data-v-ce988f63]{grid-column:1 / -1}.form-label[data-v-ce988f63]{font-size:13px;font-weight:600;color:#64748b}.form-input[data-v-ce988f63]{padding:12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1e293b;background:#f8f9fa}.time-taken-display[data-v-ce988f63]{margin-top:16px;padding:12px 16px;background:#f8f9fa;border-radius:8px;font-size:16px;font-weight:600;color:#1e293b;text-align:center}.task-done-list[data-v-ce988f63]{display:flex;flex-direction:column;gap:12px}.task-done-item[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f8f9fa;border-radius:8px;font-size:15px;color:#1e293b}.task-done-check[data-v-ce988f63]{display:flex;align-items:center;gap:12px;color:#64748b;font-size:14px}.task-done-check svg[data-v-ce988f63]{color:#4caf50}.details-footer[data-v-ce988f63]{margin-top:32px;padding-top:24px;border-top:1px solid #E2E8F0;display:flex;flex-direction:column;align-items:center;gap:16px}.details-notice[data-v-ce988f63]{font-size:14px;color:#64748b;margin:0}.btn-submit-details[data-v-ce988f63]{padding:12px 48px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:150px}.btn-submit-details[data-v-ce988f63]:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn-submit-details[data-v-ce988f63]:disabled{background:#94c896;cursor:not-allowed;transform:none}.btn-submit-details .loading-text[data-v-ce988f63]{display:flex;align-items:center;gap:8px;justify-content:center}.btn-submit-details .spinner[data-v-ce988f63]{animation:spin-ce988f63 1s linear infinite}@keyframes spin-ce988f63{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-modal[data-v-ce988f63]{max-width:900px}.success-header[data-v-ce988f63]{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.success-icon[data-v-ce988f63]{width:80px;height:80px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.success-title[data-v-ce988f63]{font-size:32px;font-weight:700;color:#4caf50;margin:0 0 12px}.success-subtitle[data-v-ce988f63]{font-size:14px;color:#64748b;text-align:center;margin:0}.success-summary[data-v-ce988f63]{display:flex;flex-direction:column;gap:1px;background:#e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:24px}.summary-row[data-v-ce988f63]{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e2e8f0}.summary-item[data-v-ce988f63]{background:#fff;padding:16px;display:flex;flex-direction:column;gap:6px}.summary-item.full-width[data-v-ce988f63]{grid-column:1 / -1}.summary-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.summary-value[data-v-ce988f63]{font-size:14px;color:#1e293b;font-weight:500}.success-tasks[data-v-ce988f63]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.success-task-item[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f8f9fa;border-radius:8px;font-size:15px;color:#1e293b}.success-task-check[data-v-ce988f63]{display:flex;align-items:center;gap:12px;color:#64748b;font-size:14px}.success-task-check svg[data-v-ce988f63]{color:#4caf50}.success-footer[data-v-ce988f63]{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f8f9fa;border-radius:8px;margin-bottom:24px}.time-token-section[data-v-ce988f63]{display:flex;flex-direction:column;gap:6px}.time-token-label[data-v-ce988f63]{font-size:12px;font-weight:600;color:#64748b}.time-token-value[data-v-ce988f63]{font-size:18px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}.btn-view-details[data-v-ce988f63]{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-details[data-v-ce988f63]:hover{background:#45a049}.success-notice[data-v-ce988f63]{font-size:14px;color:#64748b;text-align:center;margin:0 0 16px}.btn-done[data-v-ce988f63]{width:100%;padding:14px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-done[data-v-ce988f63]:hover{background:#45a049;transform:translateY(-1px)}@media (max-width: 1024px){.main-container[data-v-ce988f63]{flex-direction:column}.right-panel[data-v-ce988f63]{width:100%}.tools-grid[data-v-ce988f63],.task-details-grid[data-v-ce988f63],.task-meta-row[data-v-ce988f63],.upload-section[data-v-ce988f63],.comments-section[data-v-ce988f63]{grid-template-columns:1fr}}.pm-dashboard[data-v-7afefd55]{padding:24px;background:#f5f7fa;min-height:100vh}.dashboard-header[data-v-7afefd55]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-content[data-v-7afefd55]{flex:1}.page-title[data-v-7afefd55]{font-size:28px;font-weight:600;color:#1a1d29;margin:0 0 4px}.page-subtitle[data-v-7afefd55]{font-size:14px;color:#64748b;margin:0}.refresh-btn[data-v-7afefd55]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.refresh-btn[data-v-7afefd55]:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.refresh-btn[data-v-7afefd55]:disabled{opacity:.5;cursor:not-allowed}.refresh-icon[data-v-7afefd55]{font-size:18px}.summary-cards[data-v-7afefd55]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card[data-v-7afefd55]{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;border:1px solid #e2e8f0;transition:all .2s}.summary-card[data-v-7afefd55]:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card-icon[data-v-7afefd55]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.card-total .card-icon[data-v-7afefd55]{background:#eff6ff;color:#3b82f6}.card-todo .card-icon[data-v-7afefd55]{background:#fef3c7;color:#f59e0b}.card-progress .card-icon[data-v-7afefd55]{background:#fef3e2;color:#f97316}.card-review .card-icon[data-v-7afefd55]{background:#f3e8ff;color:#a855f7}.card-completed .card-icon[data-v-7afefd55]{background:#dcfce7;color:#22c55e}.card-overdue .card-icon[data-v-7afefd55]{background:#fee2e2;color:#ef4444}.card-content[data-v-7afefd55]{flex:1}.card-label[data-v-7afefd55]{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.card-value[data-v-7afefd55]{font-size:32px;font-weight:700;color:#1a1d29;line-height:1}.card-trend[data-v-7afefd55]{font-size:12px;margin-top:4px;color:#64748b}.card-trend.positive[data-v-7afefd55]{color:#22c55e}.dashboard-grid[data-v-7afefd55]{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.dashboard-section[data-v-7afefd55]{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.recent-tasks-section[data-v-7afefd55]{grid-column:span 8}.top-vendors-section[data-v-7afefd55]{grid-column:span 4}.tool-activity-section[data-v-7afefd55],.upcoming-tasks-section[data-v-7afefd55]{grid-column:span 6}.statistics-section[data-v-7afefd55]{grid-column:span 8}.quick-actions-section[data-v-7afefd55]{grid-column:span 4}.section-header[data-v-7afefd55]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.section-title[data-v-7afefd55]{font-size:18px;font-weight:600;color:#1a1d29;margin:0}.view-all-link[data-v-7afefd55]{font-size:14px;color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s}.view-all-link[data-v-7afefd55]:hover{color:#2563eb}.sort-dropdown[data-v-7afefd55]{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#475569;background:#fff;cursor:pointer}.empty-state[data-v-7afefd55]{padding:40px;text-align:center;color:#94a3b8}.empty-icon[data-v-7afefd55]{font-size:48px;margin-bottom:12px}.empty-text[data-v-7afefd55]{font-size:14px;margin:0}.tasks-list[data-v-7afefd55]{display:flex;flex-direction:column;gap:12px}.task-item[data-v-7afefd55]{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.task-item[data-v-7afefd55]:hover{background:#f8fafc;border-color:#cbd5e1}.task-main[data-v-7afefd55]{display:flex;align-items:center;gap:12px;flex:1}.task-number[data-v-7afefd55]{font-size:13px;font-weight:600;color:#3b82f6;padding:4px 8px;background:#eff6ff;border-radius:6px}.task-info[data-v-7afefd55]{flex:1}.task-title[data-v-7afefd55]{font-size:14px;font-weight:500;color:#1a1d29;margin-bottom:4px}.task-meta[data-v-7afefd55]{font-size:12px;color:#64748b}.task-separator[data-v-7afefd55]{margin:0 6px}.task-right[data-v-7afefd55]{display:flex;align-items:center;gap:12px}.task-status[data-v-7afefd55]{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.status-todo[data-v-7afefd55]{background:#fef3c7;color:#92400e}.status-inprogress[data-v-7afefd55]{background:#fef3e2;color:#9a3412}.status-inreview[data-v-7afefd55]{background:#f3e8ff;color:#6b21a8}.status-done[data-v-7afefd55]{background:#dcfce7;color:#166534}.task-progress[data-v-7afefd55]{font-size:12px;color:#64748b}.vendors-list[data-v-7afefd55]{display:flex;flex-direction:column;gap:16px}.vendor-item[data-v-7afefd55]{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.vendor-item[data-v-7afefd55]:hover{background:#f8fafc}.vendor-avatar[data-v-7afefd55]{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#f1f5f9}.vendor-avatar img[data-v-7afefd55]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-7afefd55]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#475569;background:#e2e8f0}.vendor-info[data-v-7afefd55]{flex:1}.vendor-name[data-v-7afefd55]{font-size:14px;font-weight:600;color:#1a1d29;margin-bottom:2px}.vendor-company[data-v-7afefd55]{font-size:12px;color:#64748b;margin-bottom:2px}.vendor-specialization[data-v-7afefd55]{font-size:11px;color:#94a3b8}.vendor-stats[data-v-7afefd55]{text-align:right}.vendor-rating[data-v-7afefd55]{font-size:14px;font-weight:600;color:#f59e0b;margin-bottom:2px}.rating-star[data-v-7afefd55]{margin-right:2px}.vendor-jobs[data-v-7afefd55],.vendor-active[data-v-7afefd55]{font-size:11px;color:#64748b}.tool-activity-list[data-v-7afefd55]{display:flex;flex-direction:column;gap:20px}.tool-item[data-v-7afefd55]{padding:16px;border:1px solid #e2e8f0;border-radius:8px}.tool-header[data-v-7afefd55]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tool-name[data-v-7afefd55]{font-size:14px;font-weight:600;color:#1a1d29}.tool-total[data-v-7afefd55]{font-size:12px;color:#64748b}.tool-progress-bar[data-v-7afefd55]{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;display:flex;margin-bottom:8px}.progress-segment[data-v-7afefd55]{height:100%;transition:width .3s}.progress-segment.completed[data-v-7afefd55]{background:#22c55e}.progress-segment.inprogress[data-v-7afefd55]{background:#f97316}.progress-segment.pending[data-v-7afefd55]{background:#f59e0b}.tool-legend[data-v-7afefd55]{display:flex;gap:16px;flex-wrap:wrap}.legend-item[data-v-7afefd55]{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.legend-dot[data-v-7afefd55]{width:8px;height:8px;border-radius:50%}.legend-dot.completed[data-v-7afefd55]{background:#22c55e}.legend-dot.inprogress[data-v-7afefd55]{background:#f97316}.legend-dot.pending[data-v-7afefd55]{background:#f59e0b}.upcoming-list[data-v-7afefd55]{display:flex;flex-direction:column;gap:12px}.upcoming-item[data-v-7afefd55]{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.upcoming-item[data-v-7afefd55]:hover{background:#f8fafc}.upcoming-date[data-v-7afefd55]{width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eff6ff;border-radius:8px}.date-day[data-v-7afefd55]{font-size:18px;font-weight:700;color:#3b82f6;line-height:1}.date-month[data-v-7afefd55]{font-size:11px;color:#64748b;text-transform:uppercase}.upcoming-details[data-v-7afefd55]{flex:1}.upcoming-title[data-v-7afefd55]{font-size:14px;font-weight:500;color:#1a1d29;margin-bottom:4px}.upcoming-meta[data-v-7afefd55]{font-size:12px;color:#64748b}.stats-grid[data-v-7afefd55]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.stat-card[data-v-7afefd55]{text-align:center;padding:20px;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.stat-card[data-v-7afefd55]:hover{background:#f8fafc}.stat-icon[data-v-7afefd55]{font-size:32px;margin-bottom:12px}.stat-value[data-v-7afefd55]{font-size:24px;font-weight:700;color:#1a1d29;margin-bottom:4px}.stat-label[data-v-7afefd55]{font-size:12px;color:#64748b}.quick-actions-grid[data-v-7afefd55]{display:grid;grid-template-columns:1fr;gap:12px}.action-btn[data-v-7afefd55]{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary[data-v-7afefd55]{background:#3b82f6;color:#fff}.btn-primary[data-v-7afefd55]:hover{background:#2563eb}.btn-secondary[data-v-7afefd55]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-secondary[data-v-7afefd55]:hover{background:#e2e8f0}.btn-icon[data-v-7afefd55]{font-size:18px}@media (max-width: 1200px){.dashboard-section[data-v-7afefd55]{grid-column:span 12!important}}@media (max-width: 768px){.summary-cards[data-v-7afefd55]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.summary-cards[data-v-7afefd55]{grid-template-columns:1fr}}.task-monitor[data-v-c1f1b100]{max-width:1600px;margin:0 auto}.summary-cards[data-v-c1f1b100]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card[data-v-c1f1b100]{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;border:1px solid #e2e8f0;transition:all .2s}.summary-card[data-v-c1f1b100]:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card-icon[data-v-c1f1b100]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.card-total .card-icon[data-v-c1f1b100]{background:#eff6ff;color:#3b82f6}.card-todo .card-icon[data-v-c1f1b100]{background:#fef3c7;color:#f59e0b}.card-progress .card-icon[data-v-c1f1b100]{background:#fef3e2;color:#f97316}.card-review .card-icon[data-v-c1f1b100]{background:#f3e8ff;color:#a855f7}.card-done .card-icon[data-v-c1f1b100]{background:#dcfce7;color:#22c55e}.card-overdue .card-icon[data-v-c1f1b100]{background:#fee2e2;color:#ef4444}.card-content[data-v-c1f1b100]{flex:1}.card-label[data-v-c1f1b100]{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.card-value[data-v-c1f1b100]{font-size:32px;font-weight:700;color:#1a1d29;line-height:1}.top-controls[data-v-c1f1b100]{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box[data-v-c1f1b100]{flex:1;min-width:300px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;transition:all .2s}.search-box[data-v-c1f1b100]:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.search-box svg[data-v-c1f1b100]{color:#999;flex-shrink:0}.search-box input[data-v-c1f1b100]{flex:1;border:none;outline:none;font-size:14px;color:#333}.filter-controls[data-v-c1f1b100]{display:flex;gap:12px}.filter-select[data-v-c1f1b100]{padding:12px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;color:#666;background:#fff;cursor:pointer;transition:all .2s}.filter-select[data-v-c1f1b100]:focus{border-color:#4caf50;outline:none}.btn-refresh[data-v-c1f1b100]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.btn-refresh[data-v-c1f1b100]:hover:not(:disabled){background:#f5f5f5;border-color:#4caf50;color:#4caf50}.btn-refresh[data-v-c1f1b100]:disabled{opacity:.5;cursor:not-allowed}.tasks-container[data-v-c1f1b100]{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.loading-state[data-v-c1f1b100],.empty-state[data-v-c1f1b100]{text-align:center;padding:60px 20px}.spinner[data-v-c1f1b100]{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#4caf50;border-radius:50%;animation:spin-c1f1b100 1s linear infinite;margin:0 auto 20px}@keyframes spin-c1f1b100{to{transform:rotate(360deg)}}.empty-icon[data-v-c1f1b100]{font-size:64px;margin-bottom:20px}.empty-state h3[data-v-c1f1b100]{font-size:20px;font-weight:600;color:#333;margin:0 0 8px}.empty-state p[data-v-c1f1b100]{color:#999;margin:0}.tasks-table[data-v-c1f1b100]{display:flex;flex-direction:column}.table-header[data-v-c1f1b100],.table-row[data-v-c1f1b100]{display:grid;grid-template-columns:2.5fr 1.5fr 1.2fr 1.2fr 1fr 1.2fr 80px;gap:16px;align-items:center;padding:16px 24px}.table-header[data-v-c1f1b100]{background:#f9f9f9;border-bottom:2px solid #e0e0e0}.th[data-v-c1f1b100]{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px}.table-row[data-v-c1f1b100]{border-bottom:1px solid #f0f0f0;transition:all .2s}.table-row[data-v-c1f1b100]:hover{background:#f9f9f9}.td[data-v-c1f1b100]{font-size:14px;color:#333}.task-details[data-v-c1f1b100]{display:flex;flex-direction:column;gap:4px}.task-title[data-v-c1f1b100]{font-weight:600;color:#1a1a1a;font-size:15px}.task-meta[data-v-c1f1b100]{display:flex;gap:12px;font-size:12px;color:#999;flex-wrap:wrap}.meta-item[data-v-c1f1b100]{display:flex;align-items:center;gap:4px}.tool-category[data-v-c1f1b100]{background:#e8f5e9;color:#2e7d32;padding:2px 8px;border-radius:4px;font-weight:600}.vendor-info[data-v-c1f1b100]{display:flex;align-items:center;gap:12px}.vendor-avatar[data-v-c1f1b100]{width:40px;height:40px;border-radius:50%;background:#4caf50;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.vendor-text[data-v-c1f1b100]{flex:1;min-width:0}.vendor-name[data-v-c1f1b100]{font-size:14px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-name[data-v-c1f1b100]{font-size:14px;font-weight:500;color:#666}.due-info[data-v-c1f1b100]{display:flex;flex-direction:column;gap:2px}.due-date[data-v-c1f1b100]{font-size:14px;font-weight:600;color:#333}.due-date.overdue[data-v-c1f1b100]{color:#c62828}.due-time[data-v-c1f1b100]{font-size:12px;color:#999}.status-badge[data-v-c1f1b100]{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.status-todo[data-v-c1f1b100]{background:#fff3e0;color:#f57c00}.status-badge.status-progress[data-v-c1f1b100]{background:#e3f2fd;color:#1976d2}.status-badge.status-review[data-v-c1f1b100]{background:#f3e5f5;color:#7b1fa2}.status-badge.status-done[data-v-c1f1b100]{background:#e8f5e9;color:#388e3c}.progress-info[data-v-c1f1b100]{display:flex;align-items:center;gap:8px}.progress-bar[data-v-c1f1b100]{flex:1;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.progress-fill[data-v-c1f1b100]{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .3s}.progress-text[data-v-c1f1b100]{font-size:12px;font-weight:600;color:#666;min-width:45px;text-align:right}.td-actions[data-v-c1f1b100]{display:flex;gap:8px;justify-content:center}.btn-icon[data-v-c1f1b100]{width:32px;height:32px;background:#f5f5f5;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#666}.btn-icon[data-v-c1f1b100]:hover{background:#4caf50;color:#fff}.table-footer[data-v-c1f1b100]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #f0f0f0;background:#f9f9f9}.results-info[data-v-c1f1b100]{font-size:14px;color:#666}.pagination[data-v-c1f1b100]{display:flex;gap:8px}.page-btn[data-v-c1f1b100]{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.page-btn[data-v-c1f1b100]:hover:not(:disabled):not(.active){background:#f5f5f5;border-color:#4caf50;color:#4caf50}.page-btn.active[data-v-c1f1b100]{background:#4caf50;border-color:#4caf50;color:#fff}.page-btn[data-v-c1f1b100]:disabled{opacity:.3;cursor:not-allowed}.modal-overlay[data-v-c1f1b100]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-container[data-v-c1f1b100]{background:#fff;border-radius:20px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-c1f1b100]{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #f0f0f0}.modal-header h2[data-v-c1f1b100]{font-size:24px;font-weight:700;margin:0}.btn-close[data-v-c1f1b100]{width:36px;height:36px;background:#f5f5f5;border:none;border-radius:50%;font-size:20px;color:#666;cursor:pointer;transition:all .2s}.btn-close[data-v-c1f1b100]:hover{background:#e0e0e0;color:#333}.modal-content[data-v-c1f1b100]{overflow-y:auto;padding:32px}.detail-section[data-v-c1f1b100]{margin-bottom:32px}.detail-section[data-v-c1f1b100]:last-child{margin-bottom:0}.detail-section h3[data-v-c1f1b100]{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.detail-grid[data-v-c1f1b100]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item[data-v-c1f1b100]{display:flex;flex-direction:column;gap:4px}.detail-item .label[data-v-c1f1b100]{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.detail-item .value[data-v-c1f1b100]{font-size:15px;color:#333;font-weight:500}.description-text[data-v-c1f1b100],.review-comments[data-v-c1f1b100]{padding:16px;background:#f9f9f9;border-radius:12px;font-size:14px;color:#666;line-height:1.6;margin:0}.vendor-card[data-v-c1f1b100]{display:flex;align-items:center;gap:20px;padding:24px;background:#f9f9f9;border-radius:12px}.vendor-avatar-large[data-v-c1f1b100]{width:64px;height:64px;border-radius:50%;background:#4caf50;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;flex-shrink:0}.vendor-name-large[data-v-c1f1b100]{font-size:18px;font-weight:700;color:#1a1a1a}.checklists-list[data-v-c1f1b100]{display:flex;flex-direction:column;gap:12px}.checklist-item[data-v-c1f1b100]{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px;font-size:14px;color:#333}.checklist-item input[type=checkbox][data-v-c1f1b100]{width:18px;height:18px}.checklist-item span[data-v-c1f1b100]{flex:1}.checklist-time[data-v-c1f1b100]{font-size:12px;color:#999;background:#fff;padding:4px 8px;border-radius:4px;flex:0 0 auto!important}.timeline[data-v-c1f1b100]{display:flex;flex-direction:column;gap:16px}.timeline-item[data-v-c1f1b100]{display:flex;align-items:start;gap:16px}.timeline-icon[data-v-c1f1b100]{width:40px;height:40px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.timeline-content[data-v-c1f1b100]{flex:1;padding-top:4px}.timeline-title[data-v-c1f1b100]{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.timeline-date[data-v-c1f1b100]{font-size:13px;color:#999}@media (max-width: 1200px){.table-header[data-v-c1f1b100],.table-row[data-v-c1f1b100]{grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 80px}.th-progress[data-v-c1f1b100],.td-progress[data-v-c1f1b100]{display:none}}@media (max-width: 768px){.summary-cards[data-v-c1f1b100]{grid-template-columns:repeat(2,1fr)}.top-controls[data-v-c1f1b100]{flex-direction:column}.search-box[data-v-c1f1b100]{min-width:100%}.filter-controls[data-v-c1f1b100]{width:100%}.filter-select[data-v-c1f1b100],.btn-refresh[data-v-c1f1b100]{flex:1}.tasks-table[data-v-c1f1b100]{overflow-x:auto}.table-header[data-v-c1f1b100],.table-row[data-v-c1f1b100]{min-width:900px}.detail-grid[data-v-c1f1b100]{grid-template-columns:1fr}}.tower-management[data-v-f8f8a82b]{padding:24px;background:#f5f7fa;min-height:100vh}.page-header[data-v-f8f8a82b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1[data-v-f8f8a82b]{font-size:28px;font-weight:600;color:#2c3e50}.header-actions[data-v-f8f8a82b]{display:flex;gap:12px}.btn-primary[data-v-f8f8a82b],.btn-secondary[data-v-f8f8a82b],.btn-danger[data-v-f8f8a82b],.btn-upload[data-v-f8f8a82b]{padding:10px 20px;border-radius:8px;border:none;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s}.btn-primary[data-v-f8f8a82b]{background:#4caf50;color:#fff}.btn-primary[data-v-f8f8a82b]:hover:not(:disabled){background:#45a049}.btn-secondary[data-v-f8f8a82b]{background:#6c757d;color:#fff}.btn-secondary[data-v-f8f8a82b]:hover{background:#5a6268}.btn-danger[data-v-f8f8a82b]{background:#dc3545;color:#fff}.btn-danger[data-v-f8f8a82b]:hover:not(:disabled){background:#c82333}.btn-primary[data-v-f8f8a82b]:disabled,.btn-danger[data-v-f8f8a82b]:disabled{opacity:.6;cursor:not-allowed}.filters[data-v-f8f8a82b]{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;display:flex;gap:16px;align-items:center;box-shadow:0 1px 3px #0000001a}.search-box[data-v-f8f8a82b]{flex:1}.search-box input[data-v-f8f8a82b]{width:100%;padding:10px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px}.filter-group[data-v-f8f8a82b]{display:flex;gap:12px}.filter-group select[data-v-f8f8a82b]{padding:10px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.table-container[data-v-f8f8a82b]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.towers-table[data-v-f8f8a82b]{width:100%;border-collapse:collapse}.towers-table thead[data-v-f8f8a82b]{background:#f8f9fa;border-bottom:2px solid #dee2e6}.towers-table th[data-v-f8f8a82b]{padding:16px;text-align:left;font-weight:600;color:#495057;font-size:14px}.towers-table td[data-v-f8f8a82b]{padding:16px;border-bottom:1px solid #dee2e6;font-size:14px}.towers-table tbody tr[data-v-f8f8a82b]:hover{background:#f8f9fa}.tower-id[data-v-f8f8a82b]{font-weight:600;color:#495057}.tower-name[data-v-f8f8a82b]{color:#212529;font-weight:500}.tower-location[data-v-f8f8a82b]{font-family:monospace;font-size:13px;color:#6c757d}.status-badge[data-v-f8f8a82b]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-active[data-v-f8f8a82b]{background:#d4edda;color:#155724}.status-inactive[data-v-f8f8a82b]{background:#f8d7da;color:#721c24}.status-maintenance[data-v-f8f8a82b]{background:#fff3cd;color:#856404}.actions[data-v-f8f8a82b]{display:flex;gap:8px}.btn-icon[data-v-f8f8a82b]{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s;background:transparent}.btn-edit[data-v-f8f8a82b]:hover{background:#e3f2fd}.btn-delete[data-v-f8f8a82b]:hover{background:#ffebee}.loading-cell[data-v-f8f8a82b],.empty-cell[data-v-f8f8a82b]{text-align:center;padding:40px;color:#6c757d}.pagination[data-v-f8f8a82b]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.btn-page[data-v-f8f8a82b]{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-weight:500}.btn-page[data-v-f8f8a82b]:hover:not(:disabled){background:#f8f9fa}.btn-page[data-v-f8f8a82b]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-f8f8a82b]{color:#6c757d;font-size:14px}.modal-overlay[data-v-f8f8a82b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-f8f8a82b]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-small[data-v-f8f8a82b]{max-width:400px}.modal-header[data-v-f8f8a82b]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.modal-header h2[data-v-f8f8a82b]{font-size:20px;font-weight:600;color:#2c3e50}.btn-close[data-v-f8f8a82b]{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;line-height:1}.btn-close[data-v-f8f8a82b]:hover{color:#495057}.modal-body[data-v-f8f8a82b]{padding:24px}.form-row[data-v-f8f8a82b]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-f8f8a82b]{margin-bottom:16px}.form-group label[data-v-f8f8a82b]{display:block;margin-bottom:8px;font-weight:500;color:#495057;font-size:14px}.form-group input[data-v-f8f8a82b],.form-group select[data-v-f8f8a82b],.form-group textarea[data-v-f8f8a82b]{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:inherit}.form-group input[data-v-f8f8a82b]:focus,.form-group select[data-v-f8f8a82b]:focus,.form-group textarea[data-v-f8f8a82b]:focus{outline:none;border-color:#4caf50}.form-group input[data-v-f8f8a82b]:disabled{background:#e9ecef;cursor:not-allowed}.modal-footer[data-v-f8f8a82b]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #dee2e6}.upload-info[data-v-f8f8a82b]{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.upload-info h3[data-v-f8f8a82b]{margin-bottom:12px;color:#2c3e50;font-size:16px}.upload-info p[data-v-f8f8a82b]{margin-bottom:8px;color:#6c757d;font-size:14px}.upload-info ul[data-v-f8f8a82b]{margin-left:20px;margin-bottom:16px}.upload-info li[data-v-f8f8a82b]{margin-bottom:4px;color:#6c757d;font-size:14px}.download-link[data-v-f8f8a82b]{color:#4caf50;text-decoration:none;font-weight:500}.download-link[data-v-f8f8a82b]:hover{text-decoration:underline}.file-upload[data-v-f8f8a82b]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.btn-upload[data-v-f8f8a82b]{background:#6c757d;color:#fff}.file-name[data-v-f8f8a82b]{color:#495057;font-size:14px}.upload-result[data-v-f8f8a82b]{margin-top:20px}.result-message[data-v-f8f8a82b]{padding:16px;border-radius:8px;margin-bottom:12px}.result-message.success[data-v-f8f8a82b]{background:#d4edda;color:#155724}.result-message.warning[data-v-f8f8a82b]{background:#fff3cd;color:#856404}.error-list[data-v-f8f8a82b]{background:#f8f9fa;padding:16px;border-radius:8px;max-height:200px;overflow-y:auto}.error-list h4[data-v-f8f8a82b]{margin-bottom:8px;color:#dc3545;font-size:14px}.error-list ul[data-v-f8f8a82b]{margin-left:20px}.error-list li[data-v-f8f8a82b]{margin-bottom:4px;color:#dc3545;font-size:13px}.warning-text[data-v-f8f8a82b]{color:#dc3545;font-weight:500;margin-top:12px}.services-actions[data-v-f8f8a82b]{display:flex;gap:12px;margin-bottom:20px}.services-table[data-v-f8f8a82b]{width:100%;border-collapse:collapse}.services-table th[data-v-f8f8a82b]:first-child,.services-table td[data-v-f8f8a82b]:first-child{width:40px;text-align:center}.services-table input[type=checkbox][data-v-f8f8a82b]{cursor:pointer}.bulk-actions[data-v-f8f8a82b]{margin-top:16px;padding-top:16px;border-top:1px solid #dee2e6}.btn-view[data-v-f8f8a82b]{color:#17a2b8;background:transparent}.btn-view[data-v-f8f8a82b]:hover{background:#17a2b81a}.modal-large[data-v-f8f8a82b]{width:95%;max-width:1200px}.modal-medium[data-v-f8f8a82b]{width:90%;max-width:600px}.upload-instructions[data-v-f8f8a82b]{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}.upload-instructions h3[data-v-f8f8a82b]{margin-top:0;font-size:16px;color:#495057}.upload-instructions ol[data-v-f8f8a82b]{margin:12px 0;padding-left:20px}.upload-instructions li[data-v-f8f8a82b]{margin-bottom:8px;color:#6c757d}.upload-instructions .note[data-v-f8f8a82b]{margin-top:12px;padding:8px;background:#fff3cd;border-left:3px solid #ffc107;color:#856404;font-size:14px}.upload-buttons[data-v-f8f8a82b]{margin-bottom:20px}.file-upload-area[data-v-f8f8a82b]{text-align:center;padding:20px;border:2px dashed #dee2e6;border-radius:8px;margin-bottom:20px}.btn-upload[data-v-f8f8a82b]{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload[data-v-f8f8a82b]:hover{background:#218838}.file-name[data-v-f8f8a82b]{margin-top:12px;color:#495057;font-weight:500}.preview-section[data-v-f8f8a82b]{margin-top:20px}.preview-section h3[data-v-f8f8a82b]{font-size:16px;margin-bottom:12px;color:#495057}.preview-table[data-v-f8f8a82b]{max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:8px}.preview-table table[data-v-f8f8a82b]{width:100%;border-collapse:collapse}.preview-table th[data-v-f8f8a82b],.preview-table td[data-v-f8f8a82b]{padding:8px 12px;text-align:left;border-bottom:1px solid #dee2e6;font-size:13px}.preview-table th[data-v-f8f8a82b]{background:#f8f9fa;font-weight:600;position:sticky;top:0}.more-rows[data-v-f8f8a82b]{padding:12px;text-align:center;color:#6c757d;font-style:italic;background:#f8f9fa}.form-grid[data-v-f8f8a82b]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full-width[data-v-f8f8a82b]{grid-column:1 / -1}.user-management[data-v-58b08197]{padding:24px;background:#f5f7fa;min-height:100vh}.page-header[data-v-58b08197]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1[data-v-58b08197]{font-size:28px;font-weight:600;color:#2c3e50}.header-actions[data-v-58b08197]{display:flex;gap:12px}.btn-primary[data-v-58b08197],.btn-secondary[data-v-58b08197],.btn-danger[data-v-58b08197]{padding:10px 20px;border-radius:8px;border:none;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s}.btn-primary[data-v-58b08197]{background:#4caf50;color:#fff}.btn-primary[data-v-58b08197]:hover:not(:disabled){background:#45a049}.btn-secondary[data-v-58b08197]{background:#6c757d;color:#fff}.btn-secondary[data-v-58b08197]:hover{background:#5a6268}.btn-danger[data-v-58b08197]{background:#dc3545;color:#fff}.btn-danger[data-v-58b08197]:hover:not(:disabled){background:#c82333}.btn-primary[data-v-58b08197]:disabled,.btn-danger[data-v-58b08197]:disabled{opacity:.6;cursor:not-allowed}.filters[data-v-58b08197]{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;display:flex;gap:16px;align-items:center;box-shadow:0 1px 3px #0000001a}.search-box[data-v-58b08197]{flex:1}.search-box input[data-v-58b08197]{width:100%;padding:10px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px}.filter-group[data-v-58b08197]{display:flex;gap:12px}.filter-group select[data-v-58b08197]{padding:10px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.table-container[data-v-58b08197]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.users-table[data-v-58b08197]{width:100%;border-collapse:collapse}.users-table thead[data-v-58b08197]{background:#f8f9fa;border-bottom:2px solid #dee2e6}.users-table th[data-v-58b08197]{padding:16px;text-align:left;font-weight:600;color:#495057;font-size:14px}.users-table td[data-v-58b08197]{padding:16px;border-bottom:1px solid #dee2e6;font-size:14px}.users-table tbody tr[data-v-58b08197]:hover{background:#f8f9fa}.user-name[data-v-58b08197]{font-weight:600;color:#212529}.role-badge[data-v-58b08197],.status-badge[data-v-58b08197]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;display:inline-block}.role-admin[data-v-58b08197]{background:#e3f2fd;color:#1976d2}.role-manager[data-v-58b08197]{background:#f3e5f5;color:#7b1fa2}.role-user[data-v-58b08197]{background:#e8f5e9;color:#388e3c}.role-vendor[data-v-58b08197]{background:#fff3e0;color:#f57c00}.status-active[data-v-58b08197]{background:#d4edda;color:#155724}.status-inactive[data-v-58b08197]{background:#f8d7da;color:#721c24}.actions[data-v-58b08197]{display:flex;gap:8px}.btn-icon[data-v-58b08197]{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s;background:transparent}.btn-edit[data-v-58b08197]:hover{background:#e3f2fd}.btn-delete[data-v-58b08197]:hover{background:#ffebee}.loading-cell[data-v-58b08197],.empty-cell[data-v-58b08197]{text-align:center;padding:40px;color:#6c757d}.pagination[data-v-58b08197]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.btn-page[data-v-58b08197]{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-weight:500}.btn-page[data-v-58b08197]:hover:not(:disabled){background:#f8f9fa}.btn-page[data-v-58b08197]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-58b08197]{color:#6c757d;font-size:14px}.modal-overlay[data-v-58b08197]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-58b08197]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-small[data-v-58b08197]{max-width:400px}.modal-header[data-v-58b08197]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.modal-header h2[data-v-58b08197]{font-size:20px;font-weight:600;color:#2c3e50}.btn-close[data-v-58b08197]{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;line-height:1}.btn-close[data-v-58b08197]:hover{color:#495057}.modal-body[data-v-58b08197]{padding:24px}.form-row[data-v-58b08197]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-58b08197]{margin-bottom:16px}.form-group label[data-v-58b08197]{display:block;margin-bottom:8px;font-weight:500;color:#495057;font-size:14px}.form-group input[data-v-58b08197],.form-group select[data-v-58b08197]{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:inherit}.form-group input[data-v-58b08197]:focus,.form-group select[data-v-58b08197]:focus{outline:none;border-color:#4caf50}.form-group input[data-v-58b08197]:disabled{background:#e9ecef;cursor:not-allowed}.vendor-fields[data-v-58b08197]{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:16px}.info-box[data-v-58b08197]{background:#e3f2fd;border-left:4px solid #2196f3;padding:16px;border-radius:8px;margin-bottom:16px}.info-box p[data-v-58b08197]{margin:0 0 8px;color:#1565c0;font-size:14px}.info-box p[data-v-58b08197]:last-child{margin-bottom:0}.modal-footer[data-v-58b08197]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #dee2e6}.warning-text[data-v-58b08197]{color:#dc3545;font-weight:500;margin-top:12px}.task-management[data-v-9ebb8aeb]{padding:24px;background:#f5f7fa;min-height:100vh}.page-header[data-v-9ebb8aeb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1[data-v-9ebb8aeb]{font-size:28px;font-weight:600;color:#2c3e50}.filters[data-v-9ebb8aeb]{display:flex;gap:16px;margin-bottom:20px;background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.search-box[data-v-9ebb8aeb]{flex:1}.search-box input[data-v-9ebb8aeb]{width:100%;padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px}.filter-group[data-v-9ebb8aeb]{display:flex;gap:12px}.filter-group select[data-v-9ebb8aeb]{padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;min-width:150px}.table-container[data-v-9ebb8aeb]{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tasks-table[data-v-9ebb8aeb]{width:100%;border-collapse:collapse}.tasks-table th[data-v-9ebb8aeb]{background:#f8f9fa;padding:16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:14px}.tasks-table td[data-v-9ebb8aeb]{padding:16px;border-bottom:1px solid #dee2e6;color:#495057;font-size:14px}.tasks-table tbody tr[data-v-9ebb8aeb]:hover{background:#f8f9fa}.rejected-row[data-v-9ebb8aeb]{background:#fff3cd!important}.rejected-row[data-v-9ebb8aeb]:hover{background:#ffe69c!important}.task-number[data-v-9ebb8aeb]{font-weight:600;color:#2c3e50}.vendor-info[data-v-9ebb8aeb]{line-height:1.4}.vendor-info small[data-v-9ebb8aeb]{color:#6c757d;font-size:12px}.status-badge[data-v-9ebb8aeb]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-todo[data-v-9ebb8aeb]{background:#e9ecef;color:#495057}.status-progress[data-v-9ebb8aeb]{background:#cfe2ff;color:#084298}.status-review[data-v-9ebb8aeb]{background:#fff3cd;color:#997404}.status-done[data-v-9ebb8aeb]{background:#d1e7dd;color:#0a3622}.rejected-badge[data-v-9ebb8aeb]{display:inline-block;margin-left:6px;padding:4px 8px;background:#f8d7da;color:#842029;border-radius:12px;font-size:11px;font-weight:600}.progress-info[data-v-9ebb8aeb]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-9ebb8aeb]{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;min-width:80px}.progress-fill[data-v-9ebb8aeb]{height:100%;background:#4caf50;transition:width .3s}.progress-text[data-v-9ebb8aeb]{font-size:12px;color:#6c757d;min-width:40px;font-weight:500}.actions[data-v-9ebb8aeb]{white-space:nowrap}.btn-icon[data-v-9ebb8aeb]{background:none;border:none;font-size:16px;cursor:pointer;padding:6px 8px;margin:0 2px;opacity:.7;transition:all .2s;border-radius:4px}.btn-icon[data-v-9ebb8aeb]:hover{opacity:1;background:#f8f9fa}.btn-edit[data-v-9ebb8aeb]:hover{background:#fff3cd}.btn-delete[data-v-9ebb8aeb]:hover{background:#f8d7da}.loading-cell[data-v-9ebb8aeb],.empty-cell[data-v-9ebb8aeb]{text-align:center;padding:40px!important;color:#6c757d}.pagination[data-v-9ebb8aeb]{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px;background:#fff;border-radius:8px;margin-top:16px;box-shadow:0 1px 3px #0000001a}.btn-page[data-v-9ebb8aeb]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-page[data-v-9ebb8aeb]:hover:not(:disabled){background:#f8f9fa;border-color:#4caf50}.btn-page[data-v-9ebb8aeb]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-9ebb8aeb]{color:#495057;font-size:14px}.modal-overlay[data-v-9ebb8aeb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal[data-v-9ebb8aeb]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.large-modal[data-v-9ebb8aeb]{max-width:900px}.image-modal[data-v-9ebb8aeb]{max-width:800px}.modal-header[data-v-9ebb8aeb]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.modal-header h2[data-v-9ebb8aeb]{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.btn-close[data-v-9ebb8aeb]{background:none;border:none;font-size:32px;cursor:pointer;color:#6c757d;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-9ebb8aeb]:hover{background:#f8f9fa;color:#495057}.modal-body[data-v-9ebb8aeb]{padding:24px}.detail-section[data-v-9ebb8aeb]{margin-bottom:30px}.detail-section h3[data-v-9ebb8aeb]{margin:0 0 16px;color:#2c3e50;border-bottom:2px solid #4CAF50;padding-bottom:8px;font-size:18px}.rejected-section[data-v-9ebb8aeb]{background:#fff3cd;padding:20px;border-radius:8px;border:1px solid #ffc107}.rejected-section h3[data-v-9ebb8aeb]{border-bottom-color:#ffc107}.detail-grid[data-v-9ebb8aeb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item[data-v-9ebb8aeb]{display:flex;flex-direction:column;gap:6px}.detail-item.full-width[data-v-9ebb8aeb]{grid-column:1 / -1}.detail-item label[data-v-9ebb8aeb]{font-weight:600;color:#6c757d;font-size:13px}.detail-item span[data-v-9ebb8aeb],.detail-item p[data-v-9ebb8aeb]{color:#2c3e50}.checklist-item[data-v-9ebb8aeb]{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:16px}.checklist-header[data-v-9ebb8aeb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.checklist-header h4[data-v-9ebb8aeb]{margin:0;color:#2c3e50;font-size:16px}.checklist-photos[data-v-9ebb8aeb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px}.photo-item[data-v-9ebb8aeb]{display:flex;flex-direction:column;gap:8px}.photo-item label[data-v-9ebb8aeb]{font-weight:600;color:#6c757d;font-size:13px}.photo-item img[data-v-9ebb8aeb]{width:100%;height:150px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid #dee2e6;transition:all .2s}.photo-item img[data-v-9ebb8aeb]:hover{border-color:#4caf50;transform:scale(1.02)}.btn-small[data-v-9ebb8aeb]{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.btn-small[data-v-9ebb8aeb]:hover{background:#45a049}.comment-item[data-v-9ebb8aeb]{background:#f8f9fa;padding:12px 16px;border-radius:6px;margin-bottom:12px;border-left:3px solid #4CAF50}.comment-header[data-v-9ebb8aeb]{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.comment-header strong[data-v-9ebb8aeb]{color:#2c3e50}.comment-header span[data-v-9ebb8aeb]{color:#6c757d;font-size:12px}.comment-item p[data-v-9ebb8aeb]{margin:0;color:#495057;font-size:14px}.form-group[data-v-9ebb8aeb]{margin-bottom:20px}.form-group label[data-v-9ebb8aeb]{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.form-group input[data-v-9ebb8aeb],.form-group select[data-v-9ebb8aeb],.form-group textarea[data-v-9ebb8aeb]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[data-v-9ebb8aeb]:focus,.form-group select[data-v-9ebb8aeb]:focus,.form-group textarea[data-v-9ebb8aeb]:focus{outline:none;border-color:#4caf50}.form-group input[data-v-9ebb8aeb]:disabled{background:#e9ecef;cursor:not-allowed}.form-row[data-v-9ebb8aeb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.modal-actions[data-v-9ebb8aeb]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #dee2e6}.btn-primary[data-v-9ebb8aeb],.btn-secondary[data-v-9ebb8aeb],.btn-danger[data-v-9ebb8aeb]{padding:10px 20px;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:all .3s;font-size:14px}.btn-primary[data-v-9ebb8aeb]{background:#4caf50;color:#fff}.btn-primary[data-v-9ebb8aeb]:hover{background:#45a049}.btn-secondary[data-v-9ebb8aeb]{background:#6c757d;color:#fff}.btn-secondary[data-v-9ebb8aeb]:hover{background:#5a6268}.btn-danger[data-v-9ebb8aeb]{background:#dc3545;color:#fff}.btn-danger[data-v-9ebb8aeb]:hover{background:#bb2d3b}.warning-text[data-v-9ebb8aeb]{color:#856404;background:#fff3cd;padding:12px;border-radius:6px;border:1px solid #ffeeba;margin:16px 0;font-size:14px}.full-image[data-v-9ebb8aeb]{width:100%;height:auto;border-radius:8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#app{width:100%;height:100vh}:root{--edotco-primary: #4CAF50;--edotco-primary-dark: #388E3C;--edotco-secondary: #8BC34A;--edotco-accent: #CDDC39;--edotco-text: #2C3E50;--edotco-text-light: #7F8C8D;--edotco-border: #E0E0E0}
