.reload-prompt[data-v-894ac26c]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:1000;max-width:90%;width:360px}.reload-content[data-v-894ac26c]{background:#323232;color:#fff;padding:16px;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;gap:12px}.reload-message[data-v-894ac26c]{font-size:14px;font-weight:500}.reload-actions[data-v-894ac26c]{display:flex;gap:8px;justify-content:flex-end}.reload-btn[data-v-894ac26c]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.reload-btn.update[data-v-894ac26c]{background:#4caf50;color:#fff}.reload-btn.update[data-v-894ac26c]:hover{background:#43a047}.reload-btn.dismiss[data-v-894ac26c]{background:transparent;color:#aaa}.reload-btn.dismiss[data-v-894ac26c]:hover{background:#ffffff1a}.public-page-wrapper .reload-prompt[data-v-894ac26c]{bottom:20px}.modal-overlay[data-v-7cdd41c2]{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.notification-prompt[data-v-7cdd41c2]{background:#fff;border-radius:16px;max-width:360px;width:100%;padding:32px 24px;text-align:center;box-shadow:0 8px 32px #0003;animation:slideUp-7cdd41c2 .3s ease-out}@keyframes slideUp-7cdd41c2{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon[data-v-7cdd41c2]{margin-bottom:16px}.bell-icon[data-v-7cdd41c2]{font-size:48px;display:inline-block;animation:ring-7cdd41c2 .5s ease-in-out .3s}@keyframes ring-7cdd41c2{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-15deg)}40%,80%{transform:rotate(15deg)}}.modal-title[data-v-7cdd41c2]{margin:0 0 12px;font-size:22px;font-weight:600;color:#1a1a1a}.modal-message[data-v-7cdd41c2]{margin:0 0 20px;font-size:15px;line-height:1.5;color:#555}.benefits[data-v-7cdd41c2]{text-align:left;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:10px}.benefit-item[data-v-7cdd41c2]{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:#333}.benefit-item[data-v-7cdd41c2]:not(:last-child){border-bottom:1px solid #eee}.check[data-v-7cdd41c2]{color:#28a745;font-weight:700;font-size:16px}.modal-actions[data-v-7cdd41c2]{display:flex;flex-direction:column;gap:12px}.btn[data-v-7cdd41c2]{padding:14px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-7cdd41c2]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-7cdd41c2]{background:var(--primary, #1a73e8);color:#fff}.btn-primary[data-v-7cdd41c2]:hover:not(:disabled){background:#1557b0;transform:translateY(-1px)}.btn-block[data-v-7cdd41c2]{width:100%}.btn-text[data-v-7cdd41c2]{background:transparent;color:#666;padding:10px}.btn-text[data-v-7cdd41c2]:hover:not(:disabled){color:#333;text-decoration:underline}.error-message[data-v-7cdd41c2]{margin:16px 0 0;padding:10px;background:#ffebee;color:#c62828;border-radius:8px;font-size:13px}.modal-overlay[data-v-ae9473fd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-ae9473fd]{background:#fff;border-radius:12px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:1.5rem}.close-btn[data-v-ae9473fd]{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-btn[data-v-ae9473fd]:hover{background:#f0f0f0}h2[data-v-ae9473fd]{margin:0 0 1rem;font-size:1.25rem;color:#333;text-align:center}h3[data-v-ae9473fd]{margin:.5rem 0 1rem;font-size:1.1rem;color:#333;text-align:center}.install-section[data-v-ae9473fd]{text-align:center}.device-icon[data-v-ae9473fd]{width:64px;height:64px;margin:0 auto .5rem;background:#f0f7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2196f3}.device-icon.android[data-v-ae9473fd]{background:#e8f5e9;color:#4caf50}.device-icon.desktop[data-v-ae9473fd]{background:#f3e5f5;color:#9c27b0}.instructions[data-v-ae9473fd]{text-align:left;padding-left:0;list-style:none;margin:1rem 0}.instructions li[data-v-ae9473fd]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:8px;margin-bottom:.5rem}.step-icon[data-v-ae9473fd]{flex-shrink:0;width:28px;height:28px;background:#2196f3;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.note[data-v-ae9473fd]{font-size:.85rem;color:#666;font-style:italic;margin-top:1rem}.install-btn[data-v-ae9473fd]{padding:.75rem 2rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;margin-top:1rem}.install-btn.primary[data-v-ae9473fd]{background:#2196f3;color:#fff}.install-btn.primary[data-v-ae9473fd]:hover{background:#1976d2}.modal-footer[data-v-ae9473fd]{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.dont-show-again[data-v-ae9473fd]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666;cursor:pointer}.dont-show-again input[data-v-ae9473fd]{cursor:pointer}.btn-secondary[data-v-ae9473fd]{padding:.5rem 1rem;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;color:#333}.btn-secondary[data-v-ae9473fd]:hover{background:#e0e0e0}.modal-overlay[data-v-52a32e34]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-52a32e34]{background:#fff;border-radius:12px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 4px 20px #00000026}.modal-title[data-v-52a32e34]{margin:0 0 1rem;font-size:1.25rem;color:#1a1a2e}.alert-blocked-box[data-v-52a32e34]{display:flex;gap:.75rem;background:#f8d7da;border:1px solid #dc3545;border-radius:8px;padding:1rem;margin-bottom:1rem}.alert-icon[data-v-52a32e34]{font-size:1.5rem;flex-shrink:0}.alert-text[data-v-52a32e34]{flex:1}.alert-text strong[data-v-52a32e34]{display:block;color:#721c24;margin-bottom:.25rem}.alert-text p[data-v-52a32e34]{margin:.25rem 0 0;font-size:.875rem;color:#721c24}.alert-reason[data-v-52a32e34]{font-weight:500;margin-top:.5rem!important}.alert-instruction[data-v-52a32e34]{margin-top:.75rem!important;font-style:italic}.warning-box[data-v-52a32e34]{display:flex;gap:.75rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1rem}.warning-icon[data-v-52a32e34]{font-size:1.5rem;flex-shrink:0}.warning-text[data-v-52a32e34]{flex:1}.warning-text strong[data-v-52a32e34]{display:block;color:#856404;margin-bottom:.25rem}.warning-text p[data-v-52a32e34]{margin:.25rem 0 0;font-size:.875rem;color:#856404}.modal-message[data-v-52a32e34]{color:#666;margin-bottom:1.5rem;line-height:1.5}.modal-actions[data-v-52a32e34]{display:flex;gap:.75rem;justify-content:flex-end}.btn[data-v-52a32e34]{padding:.75rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn[data-v-52a32e34]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-52a32e34]{background:#e9ecef;color:#495057}.btn-secondary[data-v-52a32e34]:hover:not(:disabled){background:#dee2e6}.btn-danger[data-v-52a32e34]{background:#dc3545;color:#fff}.btn-danger[data-v-52a32e34]:hover:not(:disabled){background:#c82333}.spinner[data-v-52a32e34]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-52a32e34 .8s linear infinite}@keyframes spin-52a32e34{to{transform:rotate(360deg)}}.error-message[data-v-52a32e34]{color:#dc3545;font-size:.875rem;margin-top:1rem;text-align:center}.modal-overlay[data-v-71703aec]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.inactivity-modal[data-v-71703aec]{background:#fff;border-radius:16px;padding:32px;text-align:center;max-width:400px;width:100%;box-shadow:0 8px 32px #0000004d;animation:slideIn-71703aec .3s ease-out}@keyframes slideIn-71703aec{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-icon[data-v-71703aec]{font-size:48px;margin-bottom:16px}h3[data-v-71703aec]{margin:0 0 16px;font-size:24px;color:#333}.warning-text[data-v-71703aec]{margin:0 0 12px;font-size:16px;color:#555;line-height:1.5}.warning-text strong[data-v-71703aec]{color:#e53935;font-size:24px}.subtext[data-v-71703aec]{margin:0 0 24px;font-size:14px;color:#888}.btn[data-v-71703aec]{padding:14px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-71703aec]{background:var(--primary, #1a73e8);color:#fff}.btn-primary[data-v-71703aec]:hover{background:#1557b0;transform:translateY(-1px)}.btn-primary[data-v-71703aec]:active{transform:translateY(0)}@media (max-width: 480px){.inactivity-modal[data-v-71703aec]{padding:24px}h3[data-v-71703aec]{font-size:20px}.modal-icon[data-v-71703aec]{font-size:40px}}.status-section[data-v-97c8505d]{text-align:center;padding:10px 0}.status-detail[data-v-97c8505d]{margin-top:10px;font-size:14px;color:var(--text-secondary)}.quick-actions[data-v-97c8505d]{padding:10px 0}.status-card[data-v-b7577d9f]{text-align:center}.status-header[data-v-b7577d9f]{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.status-icon[data-v-b7577d9f]{font-size:32px}.status-label[data-v-b7577d9f]{font-size:24px;font-weight:600}.status-inactive[data-v-b7577d9f]{background:var(--bg-secondary, #f5f5f5)}.status-inactive .status-label[data-v-b7577d9f]{color:var(--text-secondary, #666)}.status-enroute[data-v-b7577d9f]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.status-enroute .status-label[data-v-b7577d9f]{color:#1565c0}.status-onsite[data-v-b7577d9f]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50}.status-onsite .status-label[data-v-b7577d9f]{color:#2e7d32}.status-monitoring[data-v-b7577d9f]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.status-monitoring .status-label[data-v-b7577d9f]{color:#1565c0}.status-expired[data-v-b7577d9f]{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336}.status-expired .status-label[data-v-b7577d9f]{color:#c62828}.status-details[data-v-b7577d9f]{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px;background:#ffffff80;border-radius:8px}.detail-item[data-v-b7577d9f]{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.detail-label[data-v-b7577d9f]{font-size:12px;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.detail-value[data-v-b7577d9f]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.detail-value.what3words[data-v-b7577d9f]{font-family:monospace;color:#e11f26;font-size:13px;word-break:break-all;white-space:normal;text-align:right}.eta-item .detail-value.ok[data-v-b7577d9f]{color:#2e7d32}.eta-item .detail-value.grace[data-v-b7577d9f]{color:#f57c00}.eta-item .detail-value.overdue[data-v-b7577d9f]{color:#d32f2f;font-weight:700}.duration-item .detail-value.ok[data-v-b7577d9f]{color:#2e7d32}.duration-item .detail-value.warning[data-v-b7577d9f]{color:#f57c00}.duration-item .detail-value.overdue[data-v-b7577d9f]{color:#d32f2f;font-weight:700}.status-message[data-v-b7577d9f]{color:var(--text-secondary, #666);padding:20px 0}.status-message p[data-v-b7577d9f]{margin:0}.status-message .hint[data-v-b7577d9f]{font-size:14px;margin-top:8px;opacity:.7}.voice-listening[data-v-b7577d9f]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 16px;background:#2196f31a;border:1px solid var(--primary, #2196f3);border-radius:8px;font-size:13px;color:var(--primary, #2196f3);animation:voice-pulse-b7577d9f 1.5s ease-in-out infinite}.voice-icon[data-v-b7577d9f]{font-size:18px;animation:mic-bounce-b7577d9f 1s ease-in-out infinite}@keyframes voice-pulse-b7577d9f{0%,to{opacity:1}50%{opacity:.7}}@keyframes mic-bounce-b7577d9f{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.gps-indicator[data-v-b7577d9f]{font-size:14px;margin-left:auto}.gps-indicator.no-gps[data-v-b7577d9f]{animation:gps-pulse-b7577d9f 2s ease-in-out infinite}@keyframes gps-pulse-b7577d9f{0%,to{opacity:1}50%{opacity:.5}}.gps-warning-banner[data-v-b7577d9f]{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:#ff980026;border:1px solid #ff9800;border-radius:6px;font-size:12px;color:#e65100}.gps-warning-icon[data-v-b7577d9f]{font-size:16px;flex-shrink:0}.gps-warning-text[data-v-b7577d9f]{flex:1;line-height:1.3}.site-selector[data-v-eec38ec7]{margin-bottom:16px}.selector-label[data-v-eec38ec7]{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--text-secondary, #666)}.recent-sites[data-v-eec38ec7]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.site-option[data-v-eec38ec7]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;cursor:pointer;transition:background .2s}.site-option[data-v-eec38ec7]:hover{background:var(--bg-hover, #e0e0e0)}.site-option.selected[data-v-eec38ec7]{background:var(--primary-light, #e3f2fd);border:2px solid var(--primary, #2196f3)}.site-name[data-v-eec38ec7]{font-weight:500}.site-visits[data-v-eec38ec7],.site-address[data-v-eec38ec7]{font-size:12px;color:var(--text-secondary, #666)}.search-toggle[data-v-eec38ec7]{color:var(--primary, #2196f3);padding:0;font-size:14px}.search-section[data-v-eec38ec7]{margin-top:12px}.search-input[data-v-eec38ec7]{margin-bottom:12px}.search-results[data-v-eec38ec7]{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;margin-bottom:12px}.loading-indicator[data-v-eec38ec7]{text-align:center;color:var(--text-secondary, #666);padding:12px}.no-results[data-v-eec38ec7]{text-align:center;padding:16px;color:var(--text-secondary, #666)}.no-results p[data-v-eec38ec7]{margin:0 0 12px}.create-form[data-v-eec38ec7]{background:var(--bg-secondary, #f5f5f5);padding:16px;border-radius:8px;margin-top:12px}.create-form h4[data-v-eec38ec7]{margin:0 0 12px;font-size:16px}.form-group[data-v-eec38ec7]{margin-bottom:12px}.form-group label[data-v-eec38ec7]{display:block;font-size:12px;margin-bottom:4px;color:var(--text-secondary, #666)}.form-control[data-v-eec38ec7]{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.form-actions[data-v-eec38ec7]{display:flex;gap:8px;justify-content:flex-end}.selected-site[data-v-eec38ec7]{display:flex;align-items:center;gap:8px;padding:12px;background:var(--primary-light, #e3f2fd);border-radius:8px;margin-top:12px}.selected-label[data-v-eec38ec7]{font-size:12px;color:var(--text-secondary, #666)}.selected-name[data-v-eec38ec7]{font-weight:500;flex:1}.btn-clear[data-v-eec38ec7]{background:none;border:none;font-size:20px;color:var(--text-secondary, #666);cursor:pointer;padding:0 8px}.btn-link[data-v-eec38ec7]{background:none;border:none;color:var(--primary, #2196f3);cursor:pointer;font-size:14px;padding:8px 0}.btn-sm[data-v-eec38ec7]{padding:8px 16px;font-size:14px}.eta-picker[data-v-9108799c]{margin-bottom:16px}.picker-label[data-v-9108799c]{display:block;font-size:14px;font-weight:500;margin-bottom:12px;color:var(--text-secondary, #666)}.quick-options[data-v-9108799c]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.quick-btn[data-v-9108799c]{padding:12px 8px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.quick-btn[data-v-9108799c]:hover{border-color:var(--primary, #2196f3)}.quick-btn.selected[data-v-9108799c]{background:var(--primary, #2196f3);border-color:var(--primary, #2196f3);color:#fff}.custom-input[data-v-9108799c]{margin-top:12px}.custom-input label[data-v-9108799c]{display:block;font-size:12px;color:var(--text-secondary, #666);margin-bottom:6px}.input-row[data-v-9108799c]{display:flex;align-items:center;gap:8px}.time-input[data-v-9108799c]{width:100px;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:16px}.unit[data-v-9108799c]{color:var(--text-secondary, #666);font-size:14px}.selected-display[data-v-9108799c]{margin-top:16px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;text-align:center}.selected-text[data-v-9108799c]{font-weight:600;font-size:16px}.arrival-time[data-v-9108799c]{display:block;margin-top:4px;font-size:14px;color:var(--text-secondary, #666)}.duration-picker[data-v-075dbe4a]{margin-bottom:16px}.picker-label[data-v-075dbe4a]{display:block;font-size:14px;font-weight:500;margin-bottom:12px;color:var(--text-secondary, #666)}.quick-options[data-v-075dbe4a]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.quick-btn[data-v-075dbe4a]{padding:12px 8px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.quick-btn[data-v-075dbe4a]:hover{border-color:var(--primary, #2196f3)}.quick-btn.selected[data-v-075dbe4a]{background:var(--primary, #2196f3);border-color:var(--primary, #2196f3);color:#fff}.custom-input[data-v-075dbe4a]{margin-top:12px}.custom-input label[data-v-075dbe4a]{display:block;font-size:12px;color:var(--text-secondary, #666);margin-bottom:6px}.input-row[data-v-075dbe4a]{display:flex;align-items:center;gap:8px}.time-input[data-v-075dbe4a]{width:100px;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:16px}.unit[data-v-075dbe4a]{color:var(--text-secondary, #666);font-size:14px}.selected-display[data-v-075dbe4a]{margin-top:16px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;text-align:center}.selected-text[data-v-075dbe4a]{font-weight:600;font-size:16px}.end-time[data-v-075dbe4a]{display:block;margin-top:4px;font-size:14px;color:var(--text-secondary, #666)}.splash-overlay[data-v-40b9aba4]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.splash-modal[data-v-40b9aba4]{background:#fff;border-radius:16px;padding:32px 24px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideUp-40b9aba4 .3s ease-out}@keyframes slideUp-40b9aba4{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-icon[data-v-40b9aba4]{margin-bottom:16px}.warning-icon[data-v-40b9aba4]{font-size:48px}.splash-title[data-v-40b9aba4]{margin:0 0 20px;font-size:24px;font-weight:600;color:#1a1a1a}.splash-message[data-v-40b9aba4]{text-align:left;margin-bottom:24px;color:#444;line-height:1.6}.splash-message p[data-v-40b9aba4]{margin:0 0 12px}.splash-message p[data-v-40b9aba4]:last-child{margin-bottom:0}.splash-tracking-info[data-v-40b9aba4]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#e8f5e9;border-radius:8px;margin-bottom:24px;color:#2e7d32;font-size:14px}.tracking-icon[data-v-40b9aba4]{font-size:18px}.btn-accept[data-v-40b9aba4]{width:100%;padding:16px 24px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.btn-accept[data-v-40b9aba4]:hover{background:linear-gradient(135deg,#43a047,#388e3c);transform:translateY(-1px);box-shadow:0 4px 12px #4caf5066}.btn-accept[data-v-40b9aba4]:active{transform:translateY(0)}.modal-overlay[data-v-283e8690]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}.offline-modal[data-v-283e8690]{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d}.warning-icon[data-v-283e8690]{font-size:48px;color:#ff9800;margin-bottom:8px}.offline-modal h3[data-v-283e8690]{margin:0 0 16px;font-size:20px;color:#333}.warning-text[data-v-283e8690]{font-size:14px;color:#555;margin-bottom:12px;text-align:left}.warning-list[data-v-283e8690]{text-align:left;font-size:14px;color:#555;padding-left:20px;margin-bottom:16px}.warning-list li[data-v-283e8690]{margin-bottom:8px}.contact-warning[data-v-283e8690]{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;padding:12px;font-size:14px;color:#e65100;margin-bottom:20px;text-align:left}.modal-actions[data-v-283e8690]{display:flex;gap:12px;justify-content:center}.btn[data-v-283e8690]{padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary[data-v-283e8690]{background:#e0e0e0;color:#333}.btn-primary[data-v-283e8690]{background:var(--primary, #2196f3);color:#fff}.btn-warning[data-v-283e8690]{background:#ff9800;color:#fff}.action-card[data-v-815ea03b]{padding-bottom:16px}.action-buttons[data-v-815ea03b]{padding:10px 0}.alert-blocked[data-v-815ea03b]{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #f44336;border-radius:12px;text-align:center;animation:alert-pulse-815ea03b 2s infinite}@keyframes alert-pulse-815ea03b{0%,to{box-shadow:0 0 #f4433666}50%{box-shadow:0 0 15px 5px #f4433633}}.alert-blocked-icon[data-v-815ea03b]{font-size:48px;margin-bottom:12px}.alert-blocked-message[data-v-815ea03b]{color:#c62828}.alert-blocked-message strong[data-v-815ea03b]{display:block;font-size:18px;margin-bottom:8px}.alert-blocked-message p[data-v-815ea03b]{margin:0;font-size:14px;line-height:1.5}.error-message[data-v-815ea03b]{color:#d32f2f;background:#ffebee;padding:12px;border-radius:8px;font-size:14px;border-left:4px solid #d32f2f}.error-message.error-warning[data-v-815ea03b]{color:#e65100;background:#fff3e0;border-left-color:#ff9800}.error-content[data-v-815ea03b]{display:flex;align-items:flex-start;gap:10px}.error-icon[data-v-815ea03b]{font-size:20px;flex-shrink:0}.error-text[data-v-815ea03b]{flex:1}.error-text strong[data-v-815ea03b]{display:block;margin-bottom:4px}.error-text p[data-v-815ea03b]{margin:0;font-size:13px;opacity:.9}.retry-status[data-v-815ea03b]{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);font-size:12px}.retry-spinner[data-v-815ea03b]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-815ea03b 1s linear infinite}@keyframes spin-815ea03b{to{transform:rotate(360deg)}}.modal-overlay[data-v-815ea03b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-815ea03b]{background:#fff;padding:24px;border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-content h3[data-v-815ea03b]{margin:0 0 16px;font-size:20px}.modal-description[data-v-815ea03b]{color:var(--text-secondary, #666);font-size:14px;margin-bottom:16px}.modal-actions[data-v-815ea03b]{display:flex;gap:12px;margin-top:24px}.modal-actions .btn[data-v-815ea03b]{flex:1}.form-group[data-v-815ea03b]{margin-bottom:16px}.form-group label[data-v-815ea03b]{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-secondary, #666)}.form-control[data-v-815ea03b]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px}.form-control[data-v-815ea03b]:focus{outline:none;border-color:var(--primary, #2196f3)}.duration-buttons[data-v-815ea03b]{display:flex;gap:12px}.duration-btn[data-v-815ea03b]{flex:1;padding:16px;font-size:16px;font-weight:600}.btn-outline[data-v-815ea03b]{background:transparent;border:2px solid var(--primary, #2196f3);color:var(--primary, #2196f3)}.btn-warning[data-v-815ea03b]{background:#ff9800;color:#fff}.btn-extend[data-v-815ea03b]{background:#00796b;color:#fff}.btn-extend[data-v-815ea03b]:hover{background:#00695c}.btn-extend[data-v-815ea03b]:disabled{background:#b2dfdb}.gps-warning-toast[data-v-815ea03b]{background:#fff3e0;border:1px solid #ff9800;border-radius:8px;padding:12px;border-left:4px solid #ff9800}.gps-warning-content[data-v-815ea03b]{display:flex;align-items:flex-start;gap:10px}.gps-warning-icon[data-v-815ea03b]{font-size:20px;flex-shrink:0}.gps-warning-text[data-v-815ea03b]{flex:1;color:#e65100}.gps-warning-text strong[data-v-815ea03b]{display:block;margin-bottom:4px}.gps-warning-text p[data-v-815ea03b]{margin:0;font-size:13px;opacity:.9}.gps-warning-close[data-v-815ea03b]{background:none;border:none;font-size:18px;cursor:pointer;padding:0;color:#e65100;opacity:.7}.gps-warning-close[data-v-815ea03b]:hover{opacity:1}.toast-enter-active[data-v-815ea03b],.toast-leave-active[data-v-815ea03b]{transition:all .3s ease}.toast-enter-from[data-v-815ea03b],.toast-leave-to[data-v-815ea03b]{opacity:0;transform:translateY(-10px)}.monitor-card[data-v-2a555548]{text-align:center;transition:all .3s}.monitor-card.active[data-v-2a555548]{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800}.monitor-card.warning[data-v-2a555548]{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ffc107;animation:pulse-2a555548 1s infinite}.monitor-card.expired[data-v-2a555548]{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336}@keyframes pulse-2a555548{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.monitor-header[data-v-2a555548]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px}.monitor-icon[data-v-2a555548]{font-size:24px}.monitor-title[data-v-2a555548]{font-size:18px;font-weight:600}.timer-display[data-v-2a555548]{margin-bottom:16px}.timer-value[data-v-2a555548]{font-size:48px;font-weight:700;font-family:monospace;color:#333}.timer-value.warning[data-v-2a555548]{color:#f57c00}.timer-value.expired[data-v-2a555548]{color:#d32f2f}.timer-label[data-v-2a555548]{font-size:14px;color:var(--text-secondary, #666);margin-top:4px}.monitor-location[data-v-2a555548]{font-size:14px;color:var(--text-secondary, #666);margin-bottom:16px;padding:8px;background:#ffffff80;border-radius:6px}.monitor-actions[data-v-2a555548]{display:flex;gap:12px;margin-bottom:12px}.btn-extend[data-v-2a555548],.btn-safe[data-v-2a555548]{flex:1;padding:14px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer}.btn-extend[data-v-2a555548]{background:#fff;border:2px solid #ff9800;color:#ff9800}.btn-extend[data-v-2a555548]:hover:not(:disabled){background:#fff3e0}.btn-safe[data-v-2a555548]{background:#4caf50;color:#fff}.btn-safe[data-v-2a555548]:hover:not(:disabled){background:#43a047}.modal-overlay[data-v-2a555548]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-2a555548]{background:#fff;padding:24px;border-radius:12px;width:100%;max-width:320px}.modal-content h3[data-v-2a555548]{margin:0 0 16px;text-align:center}.extend-options[data-v-2a555548]{display:flex;gap:12px;margin-bottom:20px}.extend-btn[data-v-2a555548]{flex:1;padding:16px 12px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:600;cursor:pointer}.extend-btn.selected[data-v-2a555548]{background:var(--primary, #2196f3);border-color:var(--primary, #2196f3);color:#fff}.modal-actions[data-v-2a555548]{display:flex;gap:12px}.modal-actions .btn[data-v-2a555548]{flex:1;padding:12px}.btn-secondary[data-v-2a555548]{background:#f5f5f5;border:none;color:#666}.btn-primary[data-v-2a555548]{background:var(--primary, #2196f3);border:none;color:#fff}.monitor-card.resolution-required[data-v-2a555548]{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336;animation:pulse-2a555548 1s infinite}.resolution-alert[data-v-2a555548]{background:#f443361a;border:1px solid #f44336;border-radius:8px;padding:16px;margin-bottom:16px;text-align:center}.resolution-icon[data-v-2a555548]{font-size:32px;margin-bottom:8px}.resolution-alert p[data-v-2a555548]{margin:0 0 8px;font-size:14px;color:#333}.resolution-waiting[data-v-2a555548]{font-weight:600;color:#f44336;animation:blink-2a555548 1.5s infinite}@keyframes blink-2a555548{0%,to{opacity:1}50%{opacity:.5}}.safe-modal[data-v-2a555548]{max-width:400px}.safe-description[data-v-2a555548]{text-align:center;color:var(--text-secondary, #666);margin-bottom:20px}.duration-options[data-v-2a555548]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.duration-btn[data-v-2a555548]{padding:14px 10px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.duration-btn[data-v-2a555548]:hover{border-color:var(--primary, #2196f3)}.duration-btn.selected[data-v-2a555548]{background:var(--primary, #2196f3);border-color:var(--primary, #2196f3);color:#fff}.custom-duration[data-v-2a555548]{margin-bottom:16px}.custom-duration label[data-v-2a555548]{display:block;font-size:14px;color:var(--text-secondary, #666);margin-bottom:8px}.custom-duration input[data-v-2a555548]{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px}.custom-duration input[data-v-2a555548]:focus{outline:none;border-color:var(--primary, #2196f3)}.duration-display[data-v-2a555548]{background:#e8f5e9;border:1px solid #4caf50;border-radius:8px;padding:12px;text-align:center;font-weight:600;color:#2e7d32;margin-bottom:20px}.btn-confirm-safe[data-v-2a555548]{background:#4caf50!important}.btn-confirm-safe[data-v-2a555548]:hover:not(:disabled){background:#43a047!important}.voice-listening[data-v-2a555548]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 16px;background:#2196f31a;border:1px solid var(--primary, #2196f3);border-radius:8px;font-size:13px;color:var(--primary, #2196f3);animation:voice-pulse-2a555548 1.5s ease-in-out infinite}.voice-icon[data-v-2a555548]{font-size:18px;animation:mic-bounce-2a555548 1s ease-in-out infinite}@keyframes voice-pulse-2a555548{0%,to{opacity:1}50%{opacity:.7}}@keyframes mic-bounce-2a555548{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.tracking-indicator[data-v-ec44cbf9]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #81c784;border-radius:8px;padding:12px 16px;margin-bottom:16px}.tracking-badge[data-v-ec44cbf9]{display:flex;align-items:center;gap:8px}.tracking-dot[data-v-ec44cbf9]{width:10px;height:10px;background-color:#4caf50;border-radius:50%;display:inline-block}.tracking-active .tracking-dot[data-v-ec44cbf9]{animation:pulse-ec44cbf9 1.5s ease-in-out infinite}@keyframes pulse-ec44cbf9{0%{box-shadow:0 0 #4caf50b3}70%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.tracking-text[data-v-ec44cbf9]{font-weight:600;color:#2e7d32;font-size:.95rem}.tracking-info[data-v-ec44cbf9]{margin:8px 0 0;font-size:.85rem;color:#558b2f}.voice-note-recorder[data-v-b35d3ea1]{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #00000014;margin:1rem 0}.vn-header[data-v-b35d3ea1]{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.vn-icon[data-v-b35d3ea1]{font-size:1.6rem;line-height:1}.vn-title strong[data-v-b35d3ea1]{display:block;font-size:1rem}.vn-sub[data-v-b35d3ea1]{margin:.15rem 0 0;font-size:.85rem;color:#666}.vn-error[data-v-b35d3ea1]{background:#fff4f4;color:#b00020;border:1px solid #f3c2c2;border-radius:8px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.9rem}.btn[data-v-b35d3ea1]{border:none;border-radius:999px;padding:.65rem 1.1rem;font-size:1rem;cursor:pointer;font-weight:500}.btn-record[data-v-b35d3ea1]{background:#2563eb;color:#fff;display:inline-flex;align-items:center;gap:.5rem}.btn-record[data-v-b35d3ea1]:disabled{background:#b8c4dd;cursor:not-allowed}.vn-dot[data-v-b35d3ea1]{width:10px;height:10px;border-radius:50%;background:#fff}.vn-status[data-v-b35d3ea1]{margin:.5rem 0 0;color:#2e7d32;font-size:.85rem}.vn-recording[data-v-b35d3ea1]{display:flex;flex-direction:column;gap:.75rem;background:#fff8f7;border:1px solid #f4cccc;border-radius:10px;padding:.75rem}.vn-recording-row[data-v-b35d3ea1]{display:flex;align-items:center;gap:.5rem;font-variant-numeric:tabular-nums}.vn-pulse[data-v-b35d3ea1]{width:12px;height:12px;border-radius:50%;background:#d32f2f;animation:vn-pulse-b35d3ea1 1s infinite ease-in-out}@keyframes vn-pulse-b35d3ea1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.vn-timer[data-v-b35d3ea1]{font-size:1.2rem;font-weight:600}.vn-cap[data-v-b35d3ea1]{color:#888;font-size:.85rem}.vn-actions[data-v-b35d3ea1]{display:flex;gap:.5rem;flex-wrap:wrap}.btn-stop[data-v-b35d3ea1]{background:#d32f2f;color:#fff}.btn-cancel[data-v-b35d3ea1]{background:#e0e0e0;color:#333}.vn-uploading[data-v-b35d3ea1]{display:flex;align-items:center;gap:.6rem;color:#555}.spinner-small[data-v-b35d3ea1]{width:18px;height:18px;border:2px solid #ddd;border-top-color:#2563eb;border-radius:50%;animation:vn-spin-b35d3ea1 .8s linear infinite}@keyframes vn-spin-b35d3ea1{to{transform:rotate(360deg)}}.vnai[data-v-8553d2be]{display:flex;align-items:flex-start;gap:.6rem;background:#fff8e1;border:1px solid #fde68a;border-radius:10px;padding:.65rem .85rem;margin:.5rem 0 1rem;font-size:.9rem}.vnai.acked[data-v-8553d2be]{background:#ecfdf5;border-color:#a7f3d0}.vnai-icon[data-v-8553d2be]{font-size:1.1rem;line-height:1.2;flex-shrink:0}.vnai.acked .vnai-icon[data-v-8553d2be]{color:#047857}.vnai-text[data-v-8553d2be]{flex:1}.vnai-text strong[data-v-8553d2be]{font-size:.9rem}.vnai-time[data-v-8553d2be]{color:#6b7280;margin-left:.4rem;font-size:.85rem}.vnai-status[data-v-8553d2be]{margin:.15rem 0 0;color:#374151;font-size:.85rem}.vnai-reason[data-v-8553d2be]{color:#6b7280;font-style:italic}.network-banner[data-v-6d6836a3]{position:fixed;top:0;left:0;right:0;z-index:9999;padding:8px 16px;font-size:14px}.banner-good[data-v-6d6836a3]{background:#e8f5e9;border-bottom:2px solid #4caf50;color:#2e7d32}.banner-slow[data-v-6d6836a3]{background:#fff8e1;border-bottom:2px solid #ff9800;color:#e65100}.banner-poor[data-v-6d6836a3]{background:#fff3e0;border-bottom:2px solid #f44336;color:#c62828}.banner-offline[data-v-6d6836a3]{background:#eceff1;border-bottom:2px solid #607d8b;color:#37474f}.banner-unknown[data-v-6d6836a3]{background:#eceff1;border-bottom:2px solid #9e9e9e;color:#616161}.banner-content[data-v-6d6836a3]{display:flex;align-items:center;gap:8px}.banner-icon[data-v-6d6836a3]{font-size:18px}.banner-text[data-v-6d6836a3]{flex:1;display:flex;flex-direction:column;gap:2px}.banner-text strong[data-v-6d6836a3]{font-weight:600}.banner-text span[data-v-6d6836a3]{font-size:12px;opacity:.9}.banner-dismiss[data-v-6d6836a3]{background:none;border:none;font-size:20px;cursor:pointer;padding:0 4px;opacity:.7}.banner-dismiss[data-v-6d6836a3]:hover{opacity:1}.retry-indicator[data-v-6d6836a3]{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;opacity:.9}.retry-spinner[data-v-6d6836a3]{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-6d6836a3 1s linear infinite}@keyframes spin-6d6836a3{to{transform:rotate(360deg)}}.queued-indicator[data-v-6d6836a3]{margin-top:4px;font-size:12px;padding:4px 8px;background:#0000001a;border-radius:4px}.slide-enter-active[data-v-6d6836a3],.slide-leave-active[data-v-6d6836a3]{transition:transform .3s ease,opacity .3s ease}.slide-enter-from[data-v-6d6836a3],.slide-leave-to[data-v-6d6836a3]{transform:translateY(-100%);opacity:0}.worker-dashboard[data-v-f2828857]{padding-bottom:100px}.loading-state[data-v-f2828857]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, #666)}.spinner[data-v-f2828857]{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--primary, #2196f3);border-radius:50%;animation:spin-f2828857 1s linear infinite;margin-bottom:16px}@keyframes spin-f2828857{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sos-section[data-v-f2828857]{margin:20px 0}.btn-sos[data-v-f2828857]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:20px;background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;font-size:20px;font-weight:700;border:none;border-radius:12px;text-decoration:none;box-shadow:0 4px 12px #f443364d;transition:all .2s}.btn-sos[data-v-f2828857]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}.sos-icon[data-v-f2828857]{font-size:28px}.quick-links[data-v-f2828857]{display:flex;gap:12px;margin-bottom:16px}.quick-link[data-v-f2828857]{display:inline-flex;align-items:center;padding:10px 18px;background:#fff;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:#333;font-size:14px;transition:all .2s}.quick-link[data-v-f2828857]:hover{background:#f5f5f5;border-color:#bbb}.quick-link .badge[data-v-f2828857]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;background:#f44336;color:#fff;font-size:12px;font-weight:700;border-radius:10px;line-height:1}.quick-link .badge.pulse[data-v-f2828857]{animation:pulse-badge-f2828857 2s infinite}@keyframes pulse-badge-f2828857{0%{box-shadow:0 0 #f44336b3}70%{box-shadow:0 0 0 8px #f4433600}to{box-shadow:0 0 #f4433600}}.quick-link.has-unread[data-v-f2828857]{background:#fff3e0;border-color:#ff9800;color:#e65100;font-weight:600}.activity-list[data-v-f2828857]{list-style:none;padding:0;margin:0}.activity-item[data-v-f2828857]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.activity-item[data-v-f2828857]:last-child{border-bottom:none}.activity-icon[data-v-f2828857]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-right:12px;font-size:16px}.activity-icon.default[data-v-f2828857]{background:#e3f2fd}.activity-icon.success[data-v-f2828857]{background:#e8f5e9}.activity-icon.monitor[data-v-f2828857]{background:#fff3e0}.activity-icon.warning[data-v-f2828857]{background:#fff8e1}.activity-icon.sos[data-v-f2828857]{background:#ffebee}.activity-content[data-v-f2828857]{flex:1}.activity-title[data-v-f2828857]{font-weight:500;font-size:14px}.activity-time[data-v-f2828857]{font-size:12px;color:var(--text-secondary, #666);margin-top:2px}.no-activity[data-v-f2828857]{text-align:center;color:var(--text-secondary, #666);padding:20px;margin:0}.toast-notification[data-v-f2828857]{position:fixed;bottom:80px;left:16px;right:16px;z-index:1000;animation:slideUp-f2828857 .3s ease}@keyframes slideUp-f2828857{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-content[data-v-f2828857]{display:flex;align-items:flex-start;gap:12px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 4px 20px #00000026;border-left:4px solid #2196f3}.toast-notification.warning .toast-content[data-v-f2828857]{border-left-color:#ff9800}.toast-icon[data-v-f2828857]{font-size:24px}.toast-message[data-v-f2828857]{flex:1}.toast-message strong[data-v-f2828857]{display:block;margin-bottom:4px}.toast-message p[data-v-f2828857]{margin:0;font-size:14px;color:var(--text-secondary, #666)}.toast-close[data-v-f2828857]{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;line-height:1}.toast-notification.success .toast-content[data-v-f2828857]{border-left-color:#4caf50}.alert-banner[data-v-f2828857]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.alert-banner.overdue[data-v-f2828857]{border-left:4px solid #f44336;background:#fff5f5}.alert-banner.messages[data-v-f2828857]{border-left:4px solid #1976d2;background:#e3f2fd;text-decoration:none;cursor:pointer;display:block;transition:transform .2s,box-shadow .2s}.alert-banner.messages[data-v-f2828857]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.alert-banner.messages .alert-content[data-v-f2828857]{margin-bottom:0}.alert-banner.messages .alert-text strong[data-v-f2828857]{color:#1565c0}.alert-banner.messages .alert-text p[data-v-f2828857]{color:#1976d2}.alert-arrow[data-v-f2828857]{font-size:20px;color:#1976d2;margin-left:auto;align-self:center}.alert-content[data-v-f2828857]{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.alert-icon[data-v-f2828857]{font-size:24px}.alert-text strong[data-v-f2828857]{display:block;color:#d32f2f;margin-bottom:4px}.alert-text p[data-v-f2828857]{margin:0;font-size:14px;color:#666}.modal-overlay[data-v-f2828857]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.modal[data-v-f2828857]{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow:auto}.modal-header[data-v-f2828857]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-f2828857]{margin:0;font-size:18px}.modal-close[data-v-f2828857]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;line-height:1}.modal-body[data-v-f2828857]{padding:20px}.modal-body>p[data-v-f2828857]{margin:0 0 16px;color:#666}.modal-footer[data-v-f2828857]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #eee}.btn-secondary[data-v-f2828857]{flex:1;padding:12px 16px;background:#f5f5f5;color:#333;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer}.btn-secondary[data-v-f2828857]:hover{background:#eee}.btn-primary[data-v-f2828857]{flex:1;padding:12px 16px;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.btn-primary[data-v-f2828857]:hover:not(:disabled){background:#1565c0}.btn-primary[data-v-f2828857]:disabled{background:#90caf9;cursor:not-allowed}.emergency-contact-card[data-v-f2828857]{margin-bottom:16px}.card-header[data-v-f2828857]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:16px}.card-header .card-title[data-v-f2828857]{margin:0;display:flex;align-items:center;gap:8px}.card-title-icon[data-v-f2828857]{font-size:18px}.toggle-icon[data-v-f2828857]{font-size:20px;color:#666;font-weight:700}.card-body[data-v-f2828857]{padding:0 16px 16px}.contact-details[data-v-f2828857]{background:#f8f9fa;border-radius:8px;padding:12px;margin-bottom:12px}.contact-row[data-v-f2828857]{display:flex;padding:6px 0}.contact-row[data-v-f2828857]:not(:last-child){border-bottom:1px solid #eee}.contact-label[data-v-f2828857]{font-weight:500;color:#666;width:100px;flex-shrink:0}.contact-value[data-v-f2828857]{color:#333}.no-contact[data-v-f2828857]{text-align:center;color:#666;padding:16px;margin:0 0 12px;background:#f8f9fa;border-radius:8px}.btn-edit-contact[data-v-f2828857]{width:100%;padding:10px 16px;background:#e3f2fd;color:#1976d2;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-edit-contact[data-v-f2828857]:hover{background:#bbdefb}.form-group[data-v-f2828857]{margin-bottom:16px}.form-group label[data-v-f2828857]{display:block;font-weight:500;margin-bottom:6px;color:#333}.form-input[data-v-f2828857]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-f2828857]:focus{outline:none;border-color:#1976d2}.form-input[data-v-f2828857]::placeholder{color:#999}.progress-ring[data-v-b1f8378d]{position:relative;display:flex;justify-content:center;align-items:center;margin:20px 0 30px}.timer-overlay[data-v-b1f8378d]{position:absolute;text-align:center}.timer-overlay .timer-value[data-v-b1f8378d]{font-size:36px}.location-info[data-v-b1f8378d]{font-size:13px;color:var(--text-secondary);margin-top:10px}.sos-page[data-v-3ba03102]{padding-top:10px}.sos-description[data-v-3ba03102]{text-align:center;color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:30px}.sos-button-container[data-v-3ba03102]{display:flex;justify-content:center;align-items:center;position:relative;margin:20px 0}.sos-button.active[data-v-3ba03102]{animation:none;transform:scale(.95)}.hold-progress[data-v-3ba03102]{position:absolute;width:220px;height:220px;pointer-events:none}.hold-progress-circle[data-v-3ba03102]{fill:transparent;stroke:#fff;stroke-width:4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .05s linear}.sos-hint[data-v-3ba03102]{text-align:center;font-size:13px;color:var(--text-secondary);margin-top:20px}.alert-sent[data-v-3ba03102]{text-align:center;padding:20px 0}.alert-sent-icon[data-v-3ba03102]{width:80px;height:80px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;margin:0 auto 20px}.alert-sent-title[data-v-3ba03102]{font-size:24px;font-weight:600;margin-bottom:10px}.alert-sent-message[data-v-3ba03102]{color:var(--text-secondary);font-size:14px;line-height:1.5}.alert-details[data-v-3ba03102]{background:var(--background);border-radius:8px;padding:16px;margin-top:20px}.alert-detail[data-v-3ba03102]{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}.alert-detail-label[data-v-3ba03102]{color:var(--text-secondary)}.sos-record-notice[data-v-3ba03102]{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:.75rem .85rem;margin:0 0 1rem}.sos-record-notice.granted[data-v-3ba03102]{background:#ecfdf5;border-color:#a7f3d0}.sos-record-notice-row[data-v-3ba03102]{display:flex;align-items:flex-start;gap:.6rem}.sos-record-icon[data-v-3ba03102]{font-size:1.4rem;line-height:1;flex-shrink:0}.sos-record-text strong[data-v-3ba03102]{display:block;font-size:.95rem}.sos-record-text p[data-v-3ba03102]{margin:.2rem 0 0;color:#4b5563;font-size:.85rem;line-height:1.4}.sos-record-actions[data-v-3ba03102]{margin-top:.5rem;display:flex;justify-content:flex-end}.btn-grant-mic[data-v-3ba03102]{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:.5rem .9rem;cursor:pointer;font:inherit;font-weight:500}.btn-grant-mic[data-v-3ba03102]:disabled{background:#9ca3af;cursor:not-allowed}.capture-status[data-v-3ba03102]{margin:1rem 0 0;border-radius:10px;padding:.7rem .85rem;border:1px solid transparent}.capture-status.recording[data-v-3ba03102]{background:#fff7ed;border-color:#fdba74;animation:capture-pulse-3ba03102 2s ease-in-out infinite}@keyframes capture-pulse-3ba03102{0%,to{box-shadow:0 0 #ea580c40}50%{box-shadow:0 0 0 6px #ea580c00}}.capture-status.uploading[data-v-3ba03102]{background:#eff6ff;border-color:#bfdbfe}.capture-status.sent[data-v-3ba03102]{background:#ecfdf5;border-color:#a7f3d0}.capture-status.failed[data-v-3ba03102]{background:#fff4f4;border-color:#f3c2c2}.capture-row[data-v-3ba03102]{display:flex;align-items:flex-start;gap:.6rem}.capture-icon[data-v-3ba03102]{font-size:1.4rem;line-height:1.2;flex-shrink:0}.capture-icon.recording[data-v-3ba03102]{animation:capture-rec-bob-3ba03102 1s ease-in-out infinite}@keyframes capture-rec-bob-3ba03102{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.capture-icon.ok[data-v-3ba03102]{color:#047857}.capture-icon.warn[data-v-3ba03102]{color:#b45309}.capture-text strong[data-v-3ba03102]{display:block;font-size:.95rem}.capture-sub[data-v-3ba03102]{margin:.2rem 0 0;color:#4b5563;font-size:.85rem;line-height:1.4}.notice-text[data-v-3ba03102]{font-size:13px;color:var(--text-secondary);line-height:1.5}.alert-wait-notice[data-v-3ba03102]{background:#fff8e1;border:1px solid #ffcc02;border-radius:8px;padding:16px;margin-top:20px;text-align:center}.alert-wait-notice p[data-v-3ba03102]{margin:0;font-size:14px;color:#5d4037;font-weight:500}.alert-wait-subtext[data-v-3ba03102]{margin-top:8px!important;font-size:12px!important;font-weight:400!important;color:#795548!important}.loading-state[data-v-3ba03102]{text-align:center;padding:40px;color:var(--text-secondary)}.login-container[data-v-b7d73010]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1a73e8,#0d47a1);z-index:1000}.login-card[data-v-b7d73010]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 10px 40px #0003}.logo[data-v-b7d73010]{text-align:center;margin-bottom:20px}.logo-icon[data-v-b7d73010]{width:60px;height:60px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;margin:0 auto 12px}.logo h1[data-v-b7d73010]{font-size:24px;margin:0;color:var(--text)}.login-subtitle[data-v-b7d73010]{text-align:center;color:var(--text-secondary);margin-bottom:24px}.form-group[data-v-b7d73010]{margin-bottom:16px}.form-label[data-v-b7d73010]{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.form-input[data-v-b7d73010]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:border-color .2s}.form-input[data-v-b7d73010]:focus{outline:none;border-color:var(--primary)}.otp-input[data-v-b7d73010]{text-align:center;font-size:24px;letter-spacing:4px;font-weight:600}.otp-instructions[data-v-b7d73010]{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:20px}.forgot-password[data-v-b7d73010]{text-align:right;margin-bottom:16px}.forgot-password a[data-v-b7d73010]{color:var(--primary);text-decoration:none;font-size:14px}.alert-danger[data-v-b7d73010]{background:#ffebee;color:var(--danger);padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.btn-block[data-v-b7d73010]{width:100%;padding:14px;font-size:16px}.login-method-toggle[data-v-b7d73010]{text-align:center;margin-top:16px}.toggle-link[data-v-b7d73010]{background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;text-decoration:underline;padding:4px 8px}.toggle-link[data-v-b7d73010]:hover{color:#0d47a1}.polling-step[data-v-b7d73010]{padding:40px 0}.spinner-container[data-v-b7d73010]{text-align:center}.spinner[data-v-b7d73010]{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;animation:spin-b7d73010 1s linear infinite;margin:0 auto 20px}@keyframes spin-b7d73010{to{transform:rotate(360deg)}}.polling-text[data-v-b7d73010]{font-size:16px;font-weight:500;color:var(--text);margin-bottom:8px}.polling-subtext[data-v-b7d73010]{font-size:14px;color:var(--text-secondary)}.register-link[data-v-b7d73010]{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.register-link p[data-v-b7d73010]{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.passkey-signin[data-v-b7d73010]{margin-top:16px}.divider[data-v-b7d73010]{display:flex;align-items:center;text-align:center;color:var(--text-secondary, #999);font-size:12px;margin:16px 0 12px}.divider[data-v-b7d73010]:before,.divider[data-v-b7d73010]:after{content:"";flex:1;border-bottom:1px solid var(--border, #e0e0e0)}.divider span[data-v-b7d73010]{padding:0 12px;text-transform:uppercase;letter-spacing:1px}.btn-secondary[data-v-b7d73010]{background:#fff;color:var(--text);border:1px solid var(--border, #e0e0e0)}.btn-secondary[data-v-b7d73010]:hover:not(:disabled){background:#f5f7fa;border-color:var(--primary, #1a73e8)}.btn-outline[data-v-b7d73010]{display:inline-block;padding:10px 20px;border:2px solid var(--primary);color:var(--primary);background:transparent;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s}.btn-outline[data-v-b7d73010]:hover{background:var(--primary);color:#fff}@media (max-width: 480px){.login-card[data-v-b7d73010]{padding:24px}}.install-hint[data-v-b7d73010]{text-align:center;margin-top:16px}.install-link[data-v-b7d73010]{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .2s}.install-link[data-v-b7d73010]:hover{background:#1a73e81a}.install-link svg[data-v-b7d73010]{flex-shrink:0}.safari-warning[data-v-b7d73010]{display:flex;align-items:center;justify-content:center;gap:8px;color:#f57c00;background:#fff3e0;padding:10px 16px;border-radius:8px;font-size:14px;margin-top:16px}.safari-warning svg[data-v-b7d73010]{flex-shrink:0}.registration-container[data-v-f8396597]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1a73e8,#0d47a1);z-index:1000;overflow-y:auto}.registration-card[data-v-f8396597]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:600px;box-shadow:0 10px 40px #0003}.logo[data-v-f8396597]{text-align:center;margin-bottom:30px}.logo-icon[data-v-f8396597]{width:60px;height:60px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;margin:0 auto 12px}.logo h1[data-v-f8396597]{font-size:24px;margin:0;color:var(--text)}h2[data-v-f8396597]{text-align:center;margin:0 0 8px;font-size:20px}.subtitle[data-v-f8396597]{text-align:center;color:var(--text-secondary);margin-bottom:30px}.section[data-v-f8396597]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.section[data-v-f8396597]:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section h3[data-v-f8396597]{font-size:16px;margin:0 0 16px;color:var(--text)}.form-row[data-v-f8396597]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-f8396597]{margin-bottom:16px}.form-label[data-v-f8396597]{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.form-input[data-v-f8396597]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:border-color .2s}.form-input[data-v-f8396597]:focus{outline:none;border-color:var(--primary)}textarea.form-input[data-v-f8396597]{resize:vertical}.error-message[data-v-f8396597]{background:#ffebee;color:var(--danger);padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.btn-lg[data-v-f8396597]{width:100%;padding:14px;font-size:16px;margin-top:16px}.login-link[data-v-f8396597]{text-align:center;margin-top:20px;color:var(--text-secondary);font-size:14px}.login-link a[data-v-f8396597]{color:var(--primary);text-decoration:none;font-weight:500}@media (max-width: 480px){.registration-card[data-v-f8396597]{padding:24px}.form-row[data-v-f8396597]{grid-template-columns:1fr}}.reset-container[data-v-9ae4492e]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1a73e8,#0d47a1);z-index:1000}.reset-card[data-v-9ae4492e]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 10px 40px #0003}.logo[data-v-9ae4492e]{text-align:center;margin-bottom:30px}.logo-icon[data-v-9ae4492e]{width:60px;height:60px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;margin:0 auto 12px}.logo h1[data-v-9ae4492e]{font-size:24px;margin:0;color:var(--text)}h2[data-v-9ae4492e]{text-align:center;margin:0 0 8px;font-size:20px}.subtitle[data-v-9ae4492e]{text-align:center;color:var(--text-secondary);margin-bottom:24px}.form-group[data-v-9ae4492e]{margin-bottom:16px}.form-label[data-v-9ae4492e]{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text)}.form-input[data-v-9ae4492e]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:border-color .2s}.form-input[data-v-9ae4492e]:focus{outline:none;border-color:var(--primary)}.admin-banner[data-v-9ae4492e]{background:#e8f0fe;color:#0d47a1;border-radius:8px;padding:12px 14px;text-align:left;font-size:14px;line-height:1.5}.policy[data-v-9ae4492e]{list-style:none;padding:0;margin:-8px 0 16px;font-size:13px;color:var(--text-secondary, #666);display:grid;gap:4px}.policy li[data-v-9ae4492e]:before{content:"○ ";color:var(--text-secondary, #999)}.policy li.ok[data-v-9ae4492e]{color:var(--success, #2e7d32)}.policy li.ok[data-v-9ae4492e]:before{content:"✓ "}.error-message[data-v-9ae4492e]{background:#ffebee;color:var(--danger);padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.success-message[data-v-9ae4492e]{background:#e8f5e9;color:var(--success);padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.btn-lg[data-v-9ae4492e]{width:100%;padding:14px;font-size:16px;margin-top:8px}.back-link[data-v-9ae4492e]{text-align:center;margin-top:20px}.back-link a[data-v-9ae4492e]{color:var(--primary);text-decoration:none;font-size:14px}.reset-complete[data-v-9ae4492e]{text-align:center}.success-icon[data-v-9ae4492e]{width:80px;height:80px;background:#e8f5e9;color:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 20px}@media (max-width: 480px){.reset-card[data-v-9ae4492e]{padding:24px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1a73e8;--primary-dark: #1557b0;--success: #34a853;--warning: #fbbc04;--danger: #ea4335;--danger-dark: #c5221f;--text: #202124;--text-secondary: #5f6368;--background: #f8f9fa;--surface: #ffffff;--border: #dadce0;--shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);--shadow-lg: 0 3px 6px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.12)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--surface)}.app.mobile-view{max-width:480px;margin:0 auto}.app.admin-view{max-width:100%}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--primary);color:#fff;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:16px}.app-title{font-size:20px;font-weight:600}.company-name{font-size:14px;opacity:.9;padding-left:16px;border-left:1px solid rgba(255,255,255,.3)}.company-logo{max-height:40px;max-width:180px;object-fit:contain}.header-right{display:flex;align-items:center;gap:10px}.back-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{background:#ffffff4d}.connection-status{font-size:12px;padding:4px 12px;border-radius:12px;font-weight:500}.connection-status.online{background:var(--success)}.connection-status.offline{background:var(--warning);color:var(--text)}.logout-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ffffff4d}.app-content{flex:1;padding:20px 20px 80px}.app-content.public-page{padding:0;min-height:100vh}.app.public-page-wrapper,body.public-page-body{background:transparent}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;display:flex;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 10px #0000001a;z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px;text-decoration:none;color:var(--text-secondary);transition:all .2s}.nav-item.active{color:var(--primary)}.nav-item.sos{color:var(--danger)}.nav-item.sos.active{color:var(--danger-dark)}.nav-icon{font-size:24px;margin-bottom:4px}.nav-label{font-size:11px;font-weight:500}.card{background:var(--surface);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:var(--border);cursor:not-allowed}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-dark)}.btn-lg{padding:20px 32px;font-size:18px}.btn-block{width:100%}.status-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:500}.status-badge.safe{background:#e8f5e9;color:var(--success)}.status-badge.warning{background:#fff8e1;color:#f57c00}.status-badge.danger{background:#ffebee;color:var(--danger)}.timer-display{text-align:center;padding:40px 20px}.timer-value{font-size:64px;font-weight:300;color:var(--text);font-variant-numeric:tabular-nums}.timer-label{font-size:14px;color:var(--text-secondary);margin-top:8px}.progress-ring{display:flex;justify-content:center;margin-bottom:20px}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-circle{transition:stroke-dashoffset .3s;stroke:var(--primary);fill:transparent}.progress-ring-bg{stroke:var(--border);fill:transparent}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary)}.form-select{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;background:var(--surface);cursor:pointer}.sos-button{width:200px;height:200px;border-radius:50%;background:linear-gradient(145deg,#ea4335,#c5221f);border:none;color:#fff;font-size:32px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #ea433566;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center}.sos-button:hover{transform:scale(1.05);box-shadow:0 12px 30px #ea433580}.sos-button:active{transform:scale(.98)}.sos-button-icon{font-size:48px;margin-bottom:8px}.activity-list{list-style:none}.activity-item{display:flex;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.activity-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:14px;font-size:18px}.activity-icon.checkin{background:#e8f5e9}.activity-icon.sos{background:#ffebee}.activity-content{flex:1}.activity-title{font-size:14px;font-weight:500;color:var(--text)}.activity-time{font-size:12px;color:var(--text-secondary);margin-top:2px}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-logo{font-size:48px;margin-bottom:16px}.login-title{font-size:24px;font-weight:600;margin-bottom:8px}.login-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.login-form{width:100%;max-width:320px}.alert{padding:14px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert-success{background:#e8f5e9;color:var(--success);border:1px solid #a5d6a7}.alert-danger{background:#ffebee;color:var(--danger);border:1px solid #ef9a9a}.alert-warning{background:#fff8e1;color:#f57c00;border:1px solid #ffe082}.toggle-container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.toggle-label{font-size:14px;color:var(--text)}.toggle{position:relative;width:52px;height:28px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:var(--primary)}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.text-center{text-align:center}.mt-4{margin-top:24px}.mb-4{margin-bottom:24px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s infinite}
