*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;background:#f1f5f9;color:#1e293b;touch-action:manipulation}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.login-screen[data-v-748bb1c5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#f1f5f9);padding:1rem}.login-card[data-v-748bb1c5]{background:#fff;border-radius:1rem;box-shadow:0 4px 24px #00000014;padding:2.5rem;width:100%;max-width:400px}.login-header[data-v-748bb1c5]{text-align:center;margin-bottom:2rem}.login-icon[data-v-748bb1c5]{width:56px;height:56px;border-radius:12px;background:#2563eb;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.login-header h1[data-v-748bb1c5]{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.login-header p[data-v-748bb1c5]{font-size:.85rem;color:#64748b}.form-group[data-v-748bb1c5]{margin-bottom:1rem}.form-group label[data-v-748bb1c5]{display:block;font-size:.85rem;font-weight:500;color:#334155;margin-bottom:.35rem}.form-group input[data-v-748bb1c5]{width:100%;padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.9rem;outline:none;transition:border-color .15s,box-shadow .15s}.form-group input[data-v-748bb1c5]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.error-msg[data-v-748bb1c5]{color:#ef4444;font-size:.8rem;margin-bottom:.75rem}.btn-primary.full[data-v-748bb1c5]{width:100%;padding:.7rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary.full[data-v-748bb1c5]:hover{background:#1d4ed8}.btn-primary.full[data-v-748bb1c5]:disabled{opacity:.6;cursor:not-allowed}.login-footer[data-v-748bb1c5]{text-align:center;font-size:.75rem;color:#94a3b8;margin-top:1rem}.sidebar[data-v-33bd0c71]{width:240px;background:#fff;border-right:1px solid #e2e8f0;padding:1rem;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.sidebar-label[data-v-33bd0c71]{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.sidebar-section[data-v-33bd0c71]{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f1f5f9}.sidebar-section[data-v-33bd0c71]:last-child{border-bottom:none}.sidebar-item[data-v-33bd0c71]{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:.4rem;cursor:pointer;font-size:.85rem}.sidebar-item[data-v-33bd0c71]:hover{background:#f8fafc}.dot[data-v-33bd0c71]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sidebar-empty[data-v-33bd0c71]{font-size:.8rem;color:#94a3b8;padding:.5rem}.sidebar-event[data-v-33bd0c71]{display:flex;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem;cursor:pointer}.sidebar-event[data-v-33bd0c71]:hover{background:#f8fafc}.event-bar[data-v-33bd0c71]{width:3px;border-radius:2px;flex-shrink:0;min-height:32px}.event-title[data-v-33bd0c71]{font-size:.8rem;font-weight:500}.event-time[data-v-33bd0c71]{font-size:.7rem;color:#94a3b8}.sidebar-add-btn[data-v-33bd0c71]{width:100%;padding:.4rem;border:1px dashed #cbd5e1;background:none;border-radius:.4rem;font-size:.8rem;color:#64748b;cursor:pointer;margin-top:.5rem}.sidebar-add-btn[data-v-33bd0c71]:hover{background:#f8fafc}.mobile-close[data-v-33bd0c71]{display:none}.sidebar-user[data-v-33bd0c71]{display:flex;align-items:center;gap:.6rem;padding:.6rem;border-top:1px solid #f1f5f9;margin-top:auto;cursor:pointer;border-radius:.5rem}.sidebar-user[data-v-33bd0c71]:hover{background:#f8fafc}.sidebar-avatar[data-v-33bd0c71]{width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#2563eb;font-weight:600;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-info[data-v-33bd0c71]{flex:1;min-width:0}.sidebar-user-name[data-v-33bd0c71]{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email[data-v-33bd0c71]{font-size:.7rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-dropdown[data-v-33bd0c71]{margin-top:.25rem;padding:.25rem 0}.sidebar-dropdown button[data-v-33bd0c71]{display:block;width:100%;text-align:left;padding:.4rem .75rem;border:none;background:none;font-size:.8rem;border-radius:.4rem;cursor:pointer}.sidebar-dropdown button[data-v-33bd0c71]:hover{background:#f8fafc}.task-count[data-v-33bd0c71]{background:#2563eb;color:#fff;font-size:.6rem;font-weight:600;padding:.1rem .45rem;border-radius:10px;line-height:1.3}.task-add-row[data-v-33bd0c71]{display:flex;gap:.3rem;margin-bottom:.5rem}.task-input[data-v-33bd0c71]{flex:1;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:.4rem;font-size:.8rem;outline:none}.task-input[data-v-33bd0c71]:focus{border-color:#2563eb}.task-add-btn[data-v-33bd0c71]{width:32px;height:32px;border:none;background:#2563eb;color:#fff;border-radius:.4rem;font-size:1.1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.task-add-btn[data-v-33bd0c71]:disabled{background:#cbd5e1;cursor:not-allowed}.task-row[data-v-33bd0c71]{display:flex;align-items:center;gap:.35rem;padding:.3rem .4rem;border-radius:.4rem;font-size:.8rem}.task-row[data-v-33bd0c71]:hover{background:#f8fafc}.task-check[data-v-33bd0c71]{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#fff;transition:all .15s;padding:0}.task-check.done[data-v-33bd0c71]{background:#10b981;border-color:#10b981}.task-check[data-v-33bd0c71]:hover{border-color:#2563eb}.task-body[data-v-33bd0c71]{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column}.task-title[data-v-33bd0c71]{line-height:1.35;overflow-wrap:anywhere}.task-title.task-done[data-v-33bd0c71]{text-decoration:line-through;color:#94a3b8}.task-meta[data-v-33bd0c71]{font-size:.6rem;color:#94a3b8;margin-top:.1rem}.task-priority[data-v-33bd0c71]{background:none;border:none;cursor:pointer;padding:0;font-size:.9rem;line-height:1;flex-shrink:0;opacity:.7}.task-priority[data-v-33bd0c71]:hover{opacity:1}.task-delete[data-v-33bd0c71]{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;color:#94a3b8;flex-shrink:0;transition:color .15s;line-height:1}.task-row:hover .task-delete[data-v-33bd0c71]{color:#cbd5e1}.task-delete[data-v-33bd0c71]:hover{color:#ef4444!important}.resize-handle[data-v-33bd0c71]{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;z-index:10;transition:background .15s}.resize-handle[data-v-33bd0c71]:hover{background:#2563eb26}.sidebar[data-v-33bd0c71]{position:relative}.sidebar-tasks-section[data-v-33bd0c71]{flex:1;overflow-y:auto;min-height:0}@media(max-width:768px){.sidebar[data-v-33bd0c71]{display:none}.sidebar.mobile-open[data-v-33bd0c71]{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;width:100%;flex-direction:column;background:#fff;padding:1.5rem}.mobile-close[data-v-33bd0c71]{display:block;text-align:center;padding:.75rem;color:#64748b;font-weight:500;cursor:pointer;border-top:1px solid #e2e8f0;margin-top:auto}.resize-handle[data-v-33bd0c71]{display:none}}.cp-overlay[data-v-89ed533e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:200}.cp-modal[data-v-89ed533e]{background:#fff;border-radius:1rem;width:100%;max-width:520px;box-shadow:0 25px 50px -12px #00000040;max-height:80vh;display:flex;flex-direction:column}.cp-header[data-v-89ed533e]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem;flex-shrink:0}.cp-header h2[data-v-89ed533e]{font-size:1.05rem;font-weight:600}.cp-close[data-v-89ed533e]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.cp-close[data-v-89ed533e]:hover{background:#f1f5f9;color:#334155}.cp-body[data-v-89ed533e]{padding:.75rem 1.5rem 1.5rem;overflow-y:auto;flex:1}.cp-search-row[data-v-89ed533e]{display:flex;gap:.5rem}.cp-search-input[data-v-89ed533e]{flex:1;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.85rem;outline:none;font-family:inherit}.cp-search-input[data-v-89ed533e]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.cp-search-btn[data-v-89ed533e]{padding:.6rem 1rem;border:none;background:#2563eb;color:#fff;border-radius:.5rem;font-size:1rem;cursor:pointer;flex-shrink:0}.cp-search-btn[data-v-89ed533e]:hover{background:#1d4ed8}.cp-search-btn[data-v-89ed533e]:disabled{opacity:.5;cursor:not-allowed}.cp-spinner[data-v-89ed533e]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:cp-spin-89ed533e .6s linear infinite}@keyframes cp-spin-89ed533e{to{transform:rotate(360deg)}}.cp-error[data-v-89ed533e]{margin-top:.75rem;color:#ef4444;font-size:.85rem}.cp-empty[data-v-89ed533e]{text-align:center;padding:2rem 1rem;color:#94a3b8}.cp-empty-icon[data-v-89ed533e]{font-size:2.5rem;margin-bottom:.5rem}.cp-empty p[data-v-89ed533e]{font-size:.85rem}.cp-results[data-v-89ed533e]{margin-top:.75rem}.cp-result-count[data-v-89ed533e]{font-size:.8rem;color:#64748b;margin-bottom:.5rem}.cp-result-card[data-v-89ed533e]{border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem;margin-bottom:.5rem;cursor:pointer;transition:all .12s}.cp-result-card[data-v-89ed533e]:hover{border-color:#93c5fd;background:#f8faff}.cp-card-top[data-v-89ed533e]{display:flex;justify-content:space-between;align-items:center}.cp-card-name[data-v-89ed533e]{font-weight:600;font-size:.9rem}.cp-select-btn[data-v-89ed533e]{padding:.3rem .75rem;border:none;background:#2563eb;color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap}.cp-select-btn[data-v-89ed533e]:hover{background:#1d4ed8}.cp-card-alias[data-v-89ed533e]{font-size:.8rem;color:#64748b;margin-top:.15rem}.cp-card-details[data-v-89ed533e]{display:flex;flex-wrap:wrap;gap:0 1rem;margin-top:.3rem;font-size:.8rem;color:#64748b}@media(max-width:768px){.cp-modal[data-v-89ed533e]{max-width:100%!important;max-height:100vh!important;border-radius:0!important;position:fixed;top:0;right:0;bottom:0;left:0}.cp-header[data-v-89ed533e]{padding-top:3rem}.cp-body[data-v-89ed533e]{padding:.75rem 1rem 2rem}}.modal-overlay[data-v-afd5ff22]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-afd5ff22]{background:#fff;border-radius:1rem;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto}.modal-header[data-v-afd5ff22]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.modal-header h2[data-v-afd5ff22]{font-size:1.1rem;font-weight:600}.close-btn[data-v-afd5ff22]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-afd5ff22]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-afd5ff22]{padding:.5rem 1.5rem}.form-group[data-v-afd5ff22]{margin-bottom:1rem}.form-group label[data-v-afd5ff22]{display:block;font-size:.8rem;font-weight:500;color:#475569;margin-bottom:.3rem}.form-group input[data-v-afd5ff22],.form-group select[data-v-afd5ff22],.form-group textarea[data-v-afd5ff22]{width:100%;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.85rem;outline:none;font-family:inherit}.form-group input[data-v-afd5ff22]:focus,.form-group select[data-v-afd5ff22]:focus,.form-group textarea[data-v-afd5ff22]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.form-group textarea[data-v-afd5ff22]{resize:vertical}.form-row[data-v-afd5ff22]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checkbox-row[data-v-afd5ff22]{display:flex;align-items:center;gap:.5rem}.checkbox-row input[data-v-afd5ff22]{width:auto}.checkbox-row label[data-v-afd5ff22]{margin-bottom:0;cursor:pointer}.modal-footer[data-v-afd5ff22]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem 1.5rem;border-top:1px solid #f1f5f9}.footer-left[data-v-afd5ff22]{display:flex;gap:.5rem}.btn-cancel[data-v-afd5ff22]{padding:.5rem 1.25rem;border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#475569}.btn-cancel[data-v-afd5ff22]:hover{background:#f8fafc}.btn-delete[data-v-afd5ff22]{padding:.5rem 1.25rem;border:1px solid #fecaca;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#dc2626}.btn-delete[data-v-afd5ff22]:hover{background:#fef2f2}.btn-save[data-v-afd5ff22]{padding:.5rem 1.5rem;border:none;background:#2563eb;color:#fff;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-save[data-v-afd5ff22]:hover{background:#1d4ed8}.error-msg[data-v-afd5ff22]{color:#ef4444;font-size:.8rem;margin-bottom:.5rem}.btn-row[data-v-afd5ff22]{display:flex;gap:.5rem}.btn-row button[data-v-afd5ff22]{flex:1}.btn-contact[data-v-afd5ff22]{border:1px dashed #cbd5e1;background:none;padding:.45rem .75rem;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#64748b;text-align:center;transition:all .15s}.btn-contact[data-v-afd5ff22]:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}.btn-address-toggle[data-v-afd5ff22]{border:1px dashed #cbd5e1;background:none;padding:.45rem .75rem;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#64748b;width:100%;text-align:left}.btn-address-toggle[data-v-afd5ff22]:hover{background:#f8fafc;border-color:#2563eb}.mt-sm[data-v-afd5ff22]{margin-top:.5rem}.maps-link[data-v-afd5ff22]{display:inline-block;margin-top:.4rem;font-size:.8rem;color:#2563eb;text-decoration:none}.maps-link[data-v-afd5ff22]:hover{text-decoration:underline}.phone-link[data-v-afd5ff22]{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;font-size:.82rem;color:#2563eb;text-decoration:none}.phone-link[data-v-afd5ff22]:hover{text-decoration:underline}.btn-toggle[data-v-afd5ff22]{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;font-weight:500;width:100%;transition:all .2s}.btn-toggle.done[data-v-afd5ff22]{border-color:#10b981;background:#ecfdf5;color:#059669}@media(max-width:768px){.modal-box[data-v-afd5ff22]{max-width:100%!important;max-height:100vh!important;border-radius:0!important;position:fixed;top:0;right:0;bottom:0;left:0;width:100%}.modal-header[data-v-afd5ff22]{padding-top:3rem}.modal-body[data-v-afd5ff22]{padding:.5rem 1rem}.modal-footer[data-v-afd5ff22]{padding:.75rem 1rem 2rem;position:sticky;bottom:0;background:#fff}.form-row[data-v-afd5ff22]{grid-template-columns:1fr}}.modal-overlay[data-v-20c54938]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-20c54938]{background:#fff;border-radius:1rem;width:100%;max-width:440px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto}.modal-header[data-v-20c54938]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem}.modal-header h2[data-v-20c54938]{font-size:1.1rem;font-weight:600}.close-btn[data-v-20c54938]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-20c54938]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-20c54938]{padding:.5rem 1.5rem}.form-group[data-v-20c54938]{margin-bottom:.9rem}.form-group label[data-v-20c54938]{display:block;font-size:.8rem;font-weight:500;color:#475569;margin-bottom:.3rem}.form-group input[data-v-20c54938]{width:100%;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.85rem;outline:none}.form-group input[data-v-20c54938]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.modal-footer[data-v-20c54938]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem 1.25rem}.btn-cancel[data-v-20c54938]{padding:.5rem 1.25rem;border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#475569}.btn-cancel[data-v-20c54938]:hover{background:#f8fafc}.btn-save[data-v-20c54938]{padding:.5rem 1.5rem;border:none;background:#2563eb;color:#fff;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-save[data-v-20c54938]:hover{background:#1d4ed8}.error-msg[data-v-20c54938]{color:#ef4444;font-size:.8rem;margin-bottom:.5rem}.ok-msg[data-v-20c54938]{color:#10b981;font-size:.8rem;margin-bottom:.5rem}hr[data-v-20c54938]{border:none;border-top:1px solid #f1f5f9;margin:0}.notif-slider[data-v-20c54938]{display:flex;align-items:center;gap:1rem}.notif-slider input[type=range][data-v-20c54938]{flex:1;height:6px;accent-color:#2563eb}.notif-value[data-v-20c54938]{font-size:.85rem;font-weight:600;color:#2563eb;min-width:80px;text-align:right}.notif-status[data-v-20c54938]{font-size:.75rem;color:#64748b;margin-top:.3rem}.field-hint[data-v-20c54938]{font-size:.72rem;color:#94a3b8;margin-top:.2rem}@media(max-width:768px){.modal-box[data-v-20c54938]{max-width:100%!important;max-height:100vh!important;border-radius:0!important;position:fixed;top:0;right:0;bottom:0;left:0;width:100%}.modal-header[data-v-20c54938]{padding-top:3rem}.modal-body[data-v-20c54938]{padding:.5rem 1rem}.modal-footer[data-v-20c54938]{padding:.75rem 1rem 2rem}}.modal-overlay[data-v-11faf938]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-11faf938]{background:#fff;border-radius:1rem;width:100%;max-width:440px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto}.modal-header[data-v-11faf938]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem}.modal-header h2[data-v-11faf938]{font-size:1.1rem;font-weight:600}.close-btn[data-v-11faf938]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-11faf938]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-11faf938]{padding:.5rem 1.5rem}.btn-save[data-v-11faf938]{padding:.5rem 1.5rem;border:none;background:#2563eb;color:#fff;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;width:100%}.btn-save[data-v-11faf938]:hover{background:#1d4ed8}.btn-save[data-v-11faf938]:disabled{opacity:.6;cursor:not-allowed}hr[data-v-11faf938]{border:none;border-top:1px solid #f1f5f9;margin:0}.empty[data-v-11faf938]{font-size:.85rem;color:#94a3b8;padding:1rem 0;text-align:center}.backup-row[data-v-11faf938]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.backup-row[data-v-11faf938]:last-child{border-bottom:none}.backup-info[data-v-11faf938]{display:flex;gap:.75rem;align-items:baseline}.backup-date[data-v-11faf938]{font-size:.8rem;font-family:monospace}.backup-size[data-v-11faf938]{font-size:.75rem;color:#94a3b8}.backup-actions[data-v-11faf938]{display:flex;gap:.25rem}.btn-restore[data-v-11faf938],.btn-delete[data-v-11faf938]{padding:.25rem .5rem;border:1px solid #e2e8f0;background:#fff;border-radius:.4rem;cursor:pointer;font-size:.85rem}.btn-restore[data-v-11faf938]:hover{background:#ecfdf5;border-color:#10b981}.btn-delete[data-v-11faf938]:hover{background:#fef2f2;border-color:#dc2626}.ok-msg[data-v-11faf938]{color:#10b981;font-size:.8rem;margin-top:.5rem}.error-msg[data-v-11faf938]{color:#ef4444;font-size:.8rem;margin-top:.5rem}@media(max-width:768px){.modal-box[data-v-11faf938]{max-width:100%!important;max-height:100vh!important;border-radius:0!important;position:fixed;top:0;right:0;bottom:0;left:0;width:100%}.modal-header[data-v-11faf938]{padding-top:3rem}}.modal-overlay[data-v-2714207f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-2714207f]{background:#fff;border-radius:1rem;width:100%;max-width:620px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto}.modal-header[data-v-2714207f]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem}.modal-header h2[data-v-2714207f]{font-size:1.1rem;font-weight:600}.close-btn[data-v-2714207f]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-2714207f]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-2714207f]{padding:.5rem 1.5rem .75rem}hr[data-v-2714207f]{border:none;border-top:1px solid #f1f5f9;margin:0}h3[data-v-2714207f]{font-size:.85rem;font-weight:600;color:#334155;margin:1rem 0 .4rem}.empty[data-v-2714207f]{font-size:.85rem;color:#94a3b8;padding:.75rem 0;text-align:center}.error-msg[data-v-2714207f]{color:#ef4444;font-size:.8rem;margin-top:.5rem}.tabs[data-v-2714207f]{display:flex;gap:.4rem}.tab[data-v-2714207f]{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:.5rem;font-size:.82rem;font-weight:500;cursor:pointer;color:#475569}.tab.active[data-v-2714207f]{background:#2563eb;border-color:#2563eb;color:#fff}.periods[data-v-2714207f]{display:flex;align-items:center;gap:.3rem;margin-top:.6rem}.period-label[data-v-2714207f]{font-size:.75rem;color:#94a3b8;margin-right:.2rem}.period[data-v-2714207f]{padding:.2rem .55rem;border:1px solid #e2e8f0;background:#fff;border-radius:1rem;font-size:.72rem;cursor:pointer;color:#64748b}.period.active[data-v-2714207f]{background:#eef2ff;border-color:#2563eb;color:#2563eb;font-weight:600}.kpis[data-v-2714207f]{display:flex;gap:.5rem}.kpi[data-v-2714207f]{flex:1;background:#f8fafc;border-radius:.6rem;padding:.6rem .5rem;display:flex;flex-direction:column;align-items:center}.kpi-num[data-v-2714207f]{font-size:1.15rem;font-weight:700;color:#0f172a}.kpi-num.warn[data-v-2714207f]{color:#ef4444}.kpi-lbl[data-v-2714207f]{font-size:.65rem;color:#94a3b8;text-align:center;margin-top:.15rem}.row[data-v-2714207f]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:1px solid #f8fafc;font-size:.78rem}.row[data-v-2714207f]:last-child{border-bottom:none}.row-lbl[data-v-2714207f]{color:#475569}.row-lbl.mono[data-v-2714207f]{font-family:monospace;font-size:.74rem}.row-lbl.clip[data-v-2714207f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-val[data-v-2714207f]{color:#0f172a;font-weight:600;flex-shrink:0}.bars[data-v-2714207f]{display:flex;align-items:flex-end;gap:3px;height:110px;padding:.4rem 0 0}.bar-col[data-v-2714207f]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar[data-v-2714207f]{width:100%;background:#93c5fd;border-radius:3px 3px 0 0;min-height:3px}.bar.hasErr[data-v-2714207f]{background:#fca5a5}.bar-lbl[data-v-2714207f]{font-size:.55rem;color:#94a3b8;margin-top:.2rem;writing-mode:vertical-rl;transform:rotate(180deg)}.ev-row[data-v-2714207f]{display:flex;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #f8fafc}.ev-row[data-v-2714207f]:last-child{border-bottom:none}.ev-dot[data-v-2714207f]{width:7px;height:7px;border-radius:50%;background:#10b981;margin-top:.4rem;flex-shrink:0}.ev-dot.warn[data-v-2714207f]{background:#ef4444}.ev-body[data-v-2714207f]{flex:1;min-width:0}.ev-top[data-v-2714207f]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.ev-kind[data-v-2714207f]{font-size:.78rem;color:#334155;overflow-wrap:anywhere}.ev-kind.mono[data-v-2714207f]{font-family:monospace;font-size:.72rem}.ev-ts[data-v-2714207f]{font-size:.68rem;color:#94a3b8;flex-shrink:0}.ev-detail[data-v-2714207f]{font-size:.68rem;color:#94a3b8;overflow-wrap:anywhere}.mono[data-v-2714207f]{font-family:monospace}.footnote[data-v-2714207f]{font-size:.65rem;color:#cbd5e1;border-top:1px solid #f1f5f9;padding-top:.75rem}@media(max-width:768px){.modal-box[data-v-2714207f]{max-width:100%!important;max-height:100vh!important;border-radius:0!important;position:fixed;top:0;right:0;bottom:0;left:0;width:100%}.modal-header[data-v-2714207f]{padding-top:3rem}.kpis[data-v-2714207f]{flex-wrap:wrap}}.toast[data-v-86035651]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:.75rem;font-size:.85rem;font-weight:500;box-shadow:0 4px 16px #0000001f;z-index:300;animation:slideUp-86035651 .25s ease;max-width:90vw}.toast.success[data-v-86035651]{background:#16a34a;color:#fff}.toast.error[data-v-86035651]{background:#dc2626;color:#fff}@keyframes slideUp-86035651{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.toast[data-v-86035651]{left:1rem;right:1rem;bottom:5rem;text-align:center}}.calendar-app[data-v-a838b31a]{display:flex;flex-direction:column;height:100vh;height:100dvh}.app-header[data-v-a838b31a]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.header-left[data-v-a838b31a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.header-left h1[data-v-a838b31a]{font-size:1.1rem;font-weight:600}.mobile-menu-btn[data-v-a838b31a]{display:none;border:none;background:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:.5rem}.mobile-menu-btn[data-v-a838b31a]:hover{background:#f1f5f9}.header-right[data-v-a838b31a]{display:flex;align-items:center;gap:.75rem}.app-body[data-v-a838b31a]{display:flex;flex:1;overflow:hidden}.main-content[data-v-a838b31a]{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.main-content[data-v-a838b31a]>:last-child{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-a838b31a] .fc{height:100%}[data-v-a838b31a] .fc-col-header-cell-cushion{text-transform:uppercase}[data-v-a838b31a] .fc-day-selected{outline:2px solid #2563eb;outline-offset:-2px;background:#2563eb0f!important}[data-v-a838b31a] .fc-ghost-select{outline:3px solid #1d4ed8!important;outline-offset:-1px!important}.date-nav[data-v-a838b31a]{display:flex;align-items:center;gap:.5rem}.date-nav button[data-v-a838b31a]{padding:.4rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:.4rem;cursor:pointer;font-size:.85rem}.date-nav button[data-v-a838b31a]:hover{background:#f1f5f9}.date-title[data-v-a838b31a]{font-weight:600;font-size:.95rem;min-width:160px;text-align:center}.today-btn[data-v-a838b31a]{padding:.4rem .8rem;border:1px solid #cbd5e1;background:#fff;border-radius:.4rem;font-size:.8rem;cursor:pointer}.view-tabs[data-v-a838b31a]{display:flex;gap:.25rem;background:#f1f5f9;border-radius:.5rem;padding:.2rem}.view-tabs button[data-v-a838b31a]{padding:.35rem .9rem;border:none;background:transparent;border-radius:.4rem;font-size:.8rem;cursor:pointer;color:#64748b;font-weight:500}.view-tabs button.active[data-v-a838b31a]{background:#2563eb;color:#fff}.zoom-controls[data-v-a838b31a]{display:flex;gap:.25rem}.zoom-btn[data-v-a838b31a]{padding:.3rem .5rem;border:1px solid #e2e8f0;background:#fff;border-radius:.4rem;font-size:.8rem;cursor:pointer;color:#64748b}.zoom-btn[data-v-a838b31a]:hover{background:#f1f5f9}.btn-primary[data-v-a838b31a]{padding:.45rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer}.btn-primary[data-v-a838b31a]:hover{background:#1d4ed8}.copyright[data-v-a838b31a]{position:absolute;bottom:.6rem;left:.75rem;font-size:.65rem;color:#94a3b8;pointer-events:none;z-index:5}.search-wrapper[data-v-a838b31a]{position:relative}.search-input[data-v-a838b31a]{width:200px;padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.85rem;outline:none;transition:border .15s;background:#f8fafc;color:#1e293b}.search-input[data-v-a838b31a]:focus{border-color:#2563eb;background:#fff;width:260px}.search-input[data-v-a838b31a]::placeholder{color:#94a3b8}.search-keyboard-hint[data-v-a838b31a]{display:none;padding:.4rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:.4rem;font-size:.85rem;cursor:pointer;color:#64748b}.search-keyboard-hint[data-v-a838b31a]:hover{background:#f1f5f9}.search-dropdown[data-v-a838b31a]{position:absolute;top:calc(100% + 4px);right:0;min-width:320px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 8px 24px #0000001f;z-index:100}.search-dropdown.search-empty[data-v-a838b31a]{padding:1rem;text-align:center;color:#94a3b8;font-size:.85rem;min-width:200px}.search-result-item[data-v-a838b31a]{padding:.6rem .75rem;cursor:pointer;border-bottom:1px solid #f1f5f9}.search-result-item[data-v-a838b31a]:last-child{border-bottom:none}.search-result-item[data-v-a838b31a]:hover{background:#f1f5f9}.search-result-title[data-v-a838b31a]{font-size:.85rem;font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-meta[data-v-a838b31a]{display:flex;gap:.75rem;align-items:center;font-size:.72rem;color:#64748b;margin-top:.15rem}.search-result-date[data-v-a838b31a]{flex-shrink:0}.search-result-cal[data-v-a838b31a]{display:flex;align-items:center;gap:.2rem}@media(max-width:768px){.search-input[data-v-a838b31a]{width:140px}.search-input[data-v-a838b31a]:focus{width:160px}.search-dropdown[data-v-a838b31a]{min-width:260px;right:-60px}}.fab-mobile[data-v-a838b31a]{display:none;position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:#2563eb;color:#fff;border:none;font-size:1.75rem;font-weight:300;cursor:pointer;box-shadow:0 4px 16px #2563eb66;z-index:50;align-items:center;justify-content:center;transition:transform .15s}.fab-mobile[data-v-a838b31a]:hover{transform:scale(1.08)}.fab-mobile[data-v-a838b31a]:active{transform:scale(.95)}@media(max-width:768px){.mobile-menu-btn[data-v-a838b31a]{display:block}.header-left h1[data-v-a838b31a]{font-size:1rem}.hide-mobile[data-v-a838b31a]{display:none!important}.app-header[data-v-a838b31a]{padding:.4rem .5rem;gap:.25rem}.date-title[data-v-a838b31a]{min-width:auto;font-size:.85rem}.today-btn[data-v-a838b31a]{font-size:.7rem;padding:.35rem .6rem}.view-tabs button[data-v-a838b31a]{padding:.3rem .6rem;font-size:.75rem}.btn-primary[data-v-a838b31a]{padding:.4rem .7rem;font-size:.8rem}.user-name[data-v-a838b31a]{display:none}.fc .fc-toolbar[data-v-a838b31a]{flex-wrap:wrap;gap:.5rem}.fc .fc-daygrid-day-number[data-v-a838b31a]{font-size:.8rem}.fc .fc-daygrid-event[data-v-a838b31a]{font-size:.65rem;padding:1px 3px}.fc .fc-timegrid-slot[data-v-a838b31a]{height:2.5rem}.fc .fc-timegrid-slot-label[data-v-a838b31a]{font-size:.7rem}.app-header[data-v-a838b31a]{padding-top:max(.5rem,env(safe-area-inset-top))}.sidebar.mobile-open[data-v-a838b31a]{padding-top:max(1.5rem,env(safe-area-inset-top))}.fab-mobile[data-v-a838b31a]{display:flex;bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .5rem))}}
