*{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-8f077a36]{width:240px;background:#fff;border-right:1px solid #e2e8f0;padding:1rem;overflow-y:auto;flex-shrink:0}.sidebar-label[data-v-8f077a36]{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}.sidebar-section[data-v-8f077a36]{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f1f5f9}.sidebar-section[data-v-8f077a36]:last-child{border-bottom:none}.sidebar-item[data-v-8f077a36]{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:.4rem;cursor:pointer;font-size:.85rem}.sidebar-item[data-v-8f077a36]:hover{background:#f8fafc}.dot[data-v-8f077a36]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sidebar-empty[data-v-8f077a36]{font-size:.8rem;color:#94a3b8;padding:.5rem}.sidebar-event[data-v-8f077a36]{display:flex;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem;cursor:pointer}.sidebar-event[data-v-8f077a36]:hover{background:#f8fafc}.event-bar[data-v-8f077a36]{width:3px;border-radius:2px;flex-shrink:0;min-height:32px}.event-title[data-v-8f077a36]{font-size:.8rem;font-weight:500}.event-time[data-v-8f077a36]{font-size:.7rem;color:#94a3b8}.sidebar-add-btn[data-v-8f077a36]{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-8f077a36]:hover{background:#f8fafc}.mobile-close[data-v-8f077a36]{display:none}@media(max-width:768px){.sidebar[data-v-8f077a36]{display:none}.sidebar.mobile-open[data-v-8f077a36]{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-8f077a36]{display:block;text-align:center;padding:.75rem;color:#64748b;font-weight:500;cursor:pointer;border-top:1px solid #e2e8f0;margin-top:auto}}.modal-overlay[data-v-d5bffb1f]{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-d5bffb1f]{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-d5bffb1f]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.modal-header h2[data-v-d5bffb1f]{font-size:1.1rem;font-weight:600}.close-btn[data-v-d5bffb1f]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-d5bffb1f]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-d5bffb1f]{padding:.5rem 1.5rem}.form-group[data-v-d5bffb1f]{margin-bottom:1rem}.form-group label[data-v-d5bffb1f]{display:block;font-size:.8rem;font-weight:500;color:#475569;margin-bottom:.3rem}.form-group input[data-v-d5bffb1f],.form-group select[data-v-d5bffb1f],.form-group textarea[data-v-d5bffb1f]{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-d5bffb1f]:focus,.form-group select[data-v-d5bffb1f]:focus,.form-group textarea[data-v-d5bffb1f]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.form-group textarea[data-v-d5bffb1f]{resize:vertical}.form-row[data-v-d5bffb1f]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checkbox-row[data-v-d5bffb1f]{display:flex;align-items:center;gap:.5rem}.checkbox-row input[data-v-d5bffb1f]{width:auto}.checkbox-row label[data-v-d5bffb1f]{margin-bottom:0;cursor:pointer}.modal-footer[data-v-d5bffb1f]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem 1.5rem;border-top:1px solid #f1f5f9}.footer-left[data-v-d5bffb1f]{display:flex;gap:.5rem}.btn-cancel[data-v-d5bffb1f]{padding:.5rem 1.25rem;border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#475569}.btn-cancel[data-v-d5bffb1f]:hover{background:#f8fafc}.btn-delete[data-v-d5bffb1f]{padding:.5rem 1.25rem;border:1px solid #fecaca;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#dc2626}.btn-delete[data-v-d5bffb1f]:hover{background:#fef2f2}.btn-save[data-v-d5bffb1f]{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-d5bffb1f]:hover{background:#1d4ed8}@media(max-width:768px){.modal-box[data-v-d5bffb1f]{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-d5bffb1f]{padding-top:3rem}.modal-body[data-v-d5bffb1f]{padding:.5rem 1rem}.modal-footer[data-v-d5bffb1f]{padding:.75rem 1rem 2rem;position:sticky;bottom:0;background:#fff}.form-row[data-v-d5bffb1f]{grid-template-columns:1fr}}.modal-overlay[data-v-57707208]{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-57707208]{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-57707208]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem}.modal-header h2[data-v-57707208]{font-size:1.1rem;font-weight:600}.close-btn[data-v-57707208]{border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem}.close-btn[data-v-57707208]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-57707208]{padding:.5rem 1.5rem}.form-group[data-v-57707208]{margin-bottom:.9rem}.form-group label[data-v-57707208]{display:block;font-size:.8rem;font-weight:500;color:#475569;margin-bottom:.3rem}.form-group input[data-v-57707208]{width:100%;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.85rem;outline:none}.form-group input[data-v-57707208]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.modal-footer[data-v-57707208]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem 1.25rem}.btn-cancel[data-v-57707208]{padding:.5rem 1.25rem;border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;font-size:.85rem;cursor:pointer;color:#475569}.btn-cancel[data-v-57707208]:hover{background:#f8fafc}.btn-save[data-v-57707208]{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-57707208]:hover{background:#1d4ed8}.error-msg[data-v-57707208]{color:#ef4444;font-size:.8rem;margin-bottom:.5rem}.ok-msg[data-v-57707208]{color:#10b981;font-size:.8rem;margin-bottom:.5rem}hr[data-v-57707208]{border:none;border-top:1px solid #f1f5f9;margin:0}.notif-slider[data-v-57707208]{display:flex;align-items:center;gap:1rem}.notif-slider input[type=range][data-v-57707208]{flex:1;height:6px;accent-color:#2563eb}.notif-value[data-v-57707208]{font-size:.85rem;font-weight:600;color:#2563eb;min-width:80px;text-align:right}.notif-status[data-v-57707208]{font-size:.75rem;color:#64748b;margin-top:.3rem}@media(max-width:768px){.modal-box[data-v-57707208]{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-57707208]{padding-top:3rem}.modal-body[data-v-57707208]{padding:.5rem 1rem}.modal-footer[data-v-57707208]{padding:.75rem 1rem 2rem}}.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-5519bd50]{display:flex;flex-direction:column;height:100vh;height:100dvh}.app-header[data-v-5519bd50]{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.header-left[data-v-5519bd50]{display:flex;align-items:center;gap:.75rem}.header-left h1[data-v-5519bd50]{font-size:1.1rem;font-weight:600}.mobile-menu-btn[data-v-5519bd50]{display:none;border:none;background:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:.5rem}.mobile-menu-btn[data-v-5519bd50]:hover{background:#f1f5f9}.header-right[data-v-5519bd50]{display:flex;align-items:center;gap:.75rem}.user-badge[data-v-5519bd50]{width:32px;height:32px;border-radius:50%;background:#dbeafe;color:#2563eb;font-weight:600;font-size:.75rem;display:flex;align-items:center;justify-content:center}.app-body[data-v-5519bd50]{display:flex;flex:1;overflow:hidden}.main-content[data-v-5519bd50]{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-content[data-v-5519bd50]>:last-child{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-5519bd50] .fc{height:100%}.view-controls[data-v-5519bd50]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.6rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.date-nav[data-v-5519bd50]{display:flex;align-items:center;gap:.5rem}.date-nav button[data-v-5519bd50]{padding:.4rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:.4rem;cursor:pointer;font-size:.85rem}.date-nav button[data-v-5519bd50]:hover{background:#f1f5f9}.date-title[data-v-5519bd50]{font-weight:600;font-size:.95rem;min-width:160px;text-align:center}.today-btn[data-v-5519bd50]{padding:.4rem .8rem;border:1px solid #cbd5e1;background:#fff;border-radius:.4rem;font-size:.8rem;cursor:pointer}.view-tabs[data-v-5519bd50]{display:flex;gap:.25rem;background:#f1f5f9;border-radius:.5rem;padding:.2rem}.view-tabs button[data-v-5519bd50]{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-5519bd50]{background:#2563eb;color:#fff}.btn-primary[data-v-5519bd50]{padding:.45rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer}.btn-primary[data-v-5519bd50]:hover{background:#1d4ed8}.user-menu[data-v-5519bd50]{display:flex;align-items:center;gap:.5rem;position:relative;cursor:pointer;padding:.25rem .5rem;border-radius:.5rem}.user-menu[data-v-5519bd50]:hover{background:#f1f5f9}.user-name[data-v-5519bd50]{font-size:.85rem;font-weight:500}.user-dropdown[data-v-5519bd50]{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #0000001f;min-width:220px;padding:.5rem;z-index:200}.dropdown-header[data-v-5519bd50]{font-weight:600;font-size:.9rem;padding:.5rem .75rem .25rem}.dropdown-email[data-v-5519bd50]{font-size:.75rem;color:#94a3b8;padding:0 .75rem .5rem}.user-dropdown hr[data-v-5519bd50]{border:none;border-top:1px solid #f1f5f9;margin:.25rem 0}.user-dropdown button[data-v-5519bd50]{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;background:none;font-size:.85rem;border-radius:.4rem;cursor:pointer}.user-dropdown button[data-v-5519bd50]:hover{background:#f8fafc}.fab-mobile[data-v-5519bd50]{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-5519bd50]:hover{transform:scale(1.08)}.fab-mobile[data-v-5519bd50]:active{transform:scale(.95)}@media(max-width:768px){.mobile-menu-btn[data-v-5519bd50]{display:block}.header-left h1[data-v-5519bd50]{font-size:1rem}.hide-mobile[data-v-5519bd50]{display:none!important}.app-header[data-v-5519bd50],.view-controls[data-v-5519bd50]{padding:.5rem .75rem}.date-title[data-v-5519bd50]{min-width:auto;font-size:.85rem}.today-btn[data-v-5519bd50]{font-size:.7rem;padding:.35rem .6rem}.view-tabs button[data-v-5519bd50]{padding:.3rem .6rem;font-size:.75rem}.btn-primary[data-v-5519bd50]{padding:.4rem .7rem;font-size:.8rem}.user-name[data-v-5519bd50]{display:none}.fc .fc-toolbar[data-v-5519bd50]{flex-wrap:wrap;gap:.5rem}.fc .fc-daygrid-day-number[data-v-5519bd50]{font-size:.8rem}.fc .fc-daygrid-event[data-v-5519bd50]{font-size:.65rem;padding:1px 3px}.fc .fc-timegrid-slot[data-v-5519bd50]{height:2.5rem}.fc .fc-timegrid-slot-label[data-v-5519bd50]{font-size:.7rem}.app-header[data-v-5519bd50]{padding-top:max(.5rem,env(safe-area-inset-top))}.sidebar.mobile-open[data-v-5519bd50]{padding-top:max(1.5rem,env(safe-area-inset-top))}.fab-mobile[data-v-5519bd50]{display:flex;bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .5rem))}}
