.sidebar[data-v-e56e04f8]{position:fixed;top:0;left:0;height:100vh;background-color:#f8f9fa;color:#fff;box-shadow:2px 0 8px rgba(0,0,0,.3);transition:width .3s ease,transform .3s ease;z-index:1050;display:flex;flex-direction:column;padding-top:56px;overflow:hidden}.sidebar.open[data-v-e56e04f8]{width:240px;transform:translateX(0)}.sidebar.collapsed[data-v-e56e04f8]{width:72px;transform:translateX(0)}.sidebar[data-v-e56e04f8]:not(.open):not(.collapsed){transform:translateX(-100%);width:240px}.sidebar.mobileOpen[data-v-e56e04f8]{transform:translateX(0);width:240px}.nav[data-v-e56e04f8]{list-style:none;margin:0;padding:0;flex-grow:1;overflow-y:auto}.nav-item[data-v-e56e04f8]{margin:0}.nav-link[data-v-e56e04f8]{display:flex;align-items:center;color:#ff4081;padding:8px 16px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .2s ease,color .2s ease}.nav-link[data-v-e56e04f8]:hover{background-color:#ff4081;color:#fff}.icon[data-v-e56e04f8]{display:inline-block;width:24px;min-width:24px;text-align:center;margin-right:12px;font-size:20px}.sidebar.collapsed .link-text[data-v-e56e04f8]{display:none}.sidebar.collapsed .nav-link[data-v-e56e04f8]{justify-content:center}.sidebar-footer[data-v-e56e04f8]{padding:10px 16px;font-size:12px;color:#666;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.header[data-v-e6e49318]{position:fixed;top:0;left:0;right:0;height:56px;background-color:#fff;color:#333;display:flex;align-items:center;padding:0 16px;box-shadow:0 2px 4px rgba(0,0,0,.05);z-index:1100;border-bottom:1px solid #eee}.menu-btn[data-v-e6e49318]{background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;width:32px;height:24px;padding:0;margin-right:11px;transition:background-color .3s ease;border-radius:4px}.line[data-v-e6e49318],.menu-btn[data-v-e6e49318]:hover{background-color:#ff4081}.line[data-v-e6e49318]{display:block;height:3px;width:100%;border-radius:2px;transition:background-color .3s ease}.menu-btn:hover .line[data-v-e6e49318]{background-color:#fff}.header-logo[data-v-e6e49318]{height:36px;cursor:pointer;margin-left:10px}.spacer[data-v-e6e49318]{flex-grow:1}.user-info[data-v-e6e49318]{display:flex;align-items:center;gap:12px}.username[data-v-e6e49318]{font-weight:500}.logout-btn[data-v-e6e49318]{background-color:transparent;border:1px solid #ff4081;color:#ff4081;padding:6px 12px;border-radius:4px;cursor:pointer;transition:background-color .3s ease,color .3s ease}.logout-btn[data-v-e6e49318]:hover{background-color:#ff4081;color:#fff}.layout[data-v-4da3beca]{display:flex;min-height:100vh;flex-direction:row}header[data-v-4da3beca]{position:fixed;top:0;left:0;right:0;height:56px;z-index:1100;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.content[data-v-4da3beca]{flex-grow:1;margin-top:56px;margin-left:72px;padding:16px;overflow-y:auto;transition:margin-left .3s ease;background-color:#f8f9fa}.content.sidebar-open[data-v-4da3beca]{margin-left:240px}.login-container{width:100%;max-width:350px;background-color:#fff;padding:30px;border-radius:8px;box-shadow:none;border:1px solid #ccc;margin:0 auto}.logo-container{position:relative;width:100%;height:80px;margin:0 auto;display:flex;justify-content:center;align-items:center;overflow:hidden}.logo{width:60%;height:auto}.shine{position:absolute;top:0;left:-50%;width:30%;height:100%;background:linear-gradient(120deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.4) 50%,hsla(0,0%,100%,.1));transform:skewX(-25deg);animation:shine 2.5s ease-in-out infinite;pointer-events:none}@keyframes shine{0%{left:-50%}to{left:125%}}.form-container{margin-top:30px}.custom-input{border:1px solid #ccc;background-color:#f9f9f9;border-radius:4px;padding:10px;font-size:16px}.custom-input:focus{border-color:#007bff;background-color:#fff;box-shadow:none}.alert{margin-top:15px;font-size:14px}@media (max-width:1024px){.login-container{max-width:90%;padding:20px}.logo-container{height:60px}.logo{width:50%}.custom-input{font-size:14px;padding:8px}.form-container{margin-top:20px}.alert{font-size:12px}}@media (max-width:600px){.login-container{max-width:350px;width:90%;margin:0 auto;padding:15px;border-radius:8px;border-left:1px solid #ccc;border-right:1px solid #ccc}.logo-container{height:65px}.logo{width:65%}.custom-input{font-size:14px;padding:8px}.form-container{margin-top:15px}.alert{font-size:12px}}@media (min-width:601px) and (max-width:1024px){.login-container{max-width:400px;width:90%;margin:0 auto;padding:25px;border-radius:8px;border-left:1px solid #ccc;border-right:1px solid #ccc}.logo-container{height:70px}.logo{width:60%}.custom-input{font-size:15px;padding:9px}.form-container{margin-top:20px}.alert{font-size:13px}}.card[data-v-646322f9]{border-radius:10px}.container[data-v-646322f9]{max-width:100%}.modal[data-v-590b066c]{background-color:rgba(0,0,0,.5)}.modal-dialog[data-v-590b066c]{max-width:600px}.table-hover tbody tr[data-v-27278789]:hover{background-color:#f2f2f2}.modal-backdrop[data-v-18322cae]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3);display:flex;justify-content:center;align-items:center;z-index:1050}.modal-container[data-v-18322cae]{background:#fff;border-radius:8px;padding:25px;width:420px;max-width:90vw;box-shadow:0 2px 10px rgba(0,0,0,.2)}.input[data-v-18322cae]{padding:10px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.input[data-v-18322cae],.vselect[data-v-18322cae]{width:100%;margin-bottom:12px;font-size:1rem}.buttons-row[data-v-18322cae]{display:flex;justify-content:flex-end;gap:10px}.btn-primary[data-v-18322cae]{background-color:#0d6efd;border:none;color:#fff;padding:8px 18px;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .25s ease}.btn-primary[data-v-18322cae]:hover{background-color:#0b5ed7}.btn-secondary[data-v-18322cae]{background-color:#6c757d;border:none;color:#fff;padding:8px 18px;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .25s ease}.btn-secondary[data-v-18322cae]:hover{background-color:#5c636a}.modal-overlay[data-v-4aa7e5f2]{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;justify-content:center;align-items:center;z-index:10000}.modal-content[data-v-4aa7e5f2]{background:#fff;padding:2rem 2.5rem;border-radius:8px;width:380px;max-width:90vw;box-shadow:0 4px 12px rgba(0,0,0,.15);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#212529}h3[data-v-4aa7e5f2]{margin-bottom:1rem;font-weight:600}p[data-v-4aa7e5f2]{font-size:1rem;margin-bottom:1rem}.form-check[data-v-4aa7e5f2]{display:flex;align-items:center}.form-check-input[data-v-4aa7e5f2]{margin-right:.5rem;width:18px;height:18px;cursor:pointer}.form-check-label[data-v-4aa7e5f2]{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.95rem;color:#495057}.buttons[data-v-4aa7e5f2]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-4aa7e5f2]{cursor:pointer;padding:.45rem 1.1rem;border-radius:6px;border:none;font-weight:600;font-size:.9rem;transition:background-color .2s ease}.btn-danger[data-v-4aa7e5f2]{background-color:#dc3545;color:#fff}.btn-danger[data-v-4aa7e5f2]:disabled{background-color:#f5a3ab;cursor:not-allowed}.btn-danger[data-v-4aa7e5f2]:hover:not(:disabled){background-color:#bb2d3b}.btn-secondary[data-v-4aa7e5f2]{background-color:#6c757d;color:#fff}.btn-secondary[data-v-4aa7e5f2]:hover{background-color:#565e64}.content-container[data-v-a2e24170]{padding:0;display:flex;flex-direction:column;min-height:100vh}.departments-summary-wrapper[data-v-a2e24170]{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;cursor:grab;padding-bottom:10px;margin-left:-250px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.departments-summary-wrapper[data-v-a2e24170]:active{cursor:grabbing}.departments-summary[data-v-a2e24170]{display:inline-flex;gap:15px;padding-left:250px}.department-card[data-v-a2e24170]{display:inline-flex;flex-shrink:0;width:220px;height:120px;border-radius:10px;text-align:center;padding:20px;box-sizing:border-box}.table[data-v-a2e24170]{margin-bottom:0}.card-header[data-v-a2e24170]{font-weight:600}.btn-sm[data-v-a2e24170]{padding:.25rem .5rem;font-size:.875rem}.me-1[data-v-a2e24170]{margin-right:.25rem}@media (max-width:768px){.departments-summary-wrapper[data-v-a2e24170]{margin-left:0;padding-left:0}.departments-summary[data-v-a2e24170]{padding-left:0}.table[data-v-a2e24170]{font-size:.9rem}}.department-node[data-v-07d0f02e]{list-style:none;margin-bottom:12px;border:1px solid #d0d7de;border-radius:8px;background-color:#fff;padding:0;overflow:hidden;transition:box-shadow .2s ease}.department-node[data-v-07d0f02e]:hover{box-shadow:0 2px 6px rgba(0,0,0,.06)}.department-header[data-v-07d0f02e]{display:flex;align-items:center;padding:12px 16px;font-size:15px;line-height:1.4;border-bottom:1px solid #f0f0f0}.toggle-btn[data-v-07d0f02e]{font-size:16px;background:none;border:none;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#555;flex-shrink:0}.department-name[data-v-07d0f02e]{flex-grow:1;font-weight:500;color:#2c2c2c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.actions[data-v-07d0f02e]{display:flex;gap:8px;align-items:center}.actions button[data-v-07d0f02e]{padding:6px 10px;font-size:14px;border:1px solid #ccc;border-radius:6px;background-color:#f9f9f9;color:#333;cursor:pointer;transition:background .2s}.actions button[data-v-07d0f02e]:hover{background-color:#ececec}.child-list[data-v-07d0f02e]{margin:0;padding-left:0;background-color:#fafafa}.fade-enter-active[data-v-07d0f02e],.fade-leave-active[data-v-07d0f02e]{transition:all .3s ease}.fade-enter-from[data-v-07d0f02e],.fade-leave-to[data-v-07d0f02e]{opacity:0;transform:translateY(-4px)}.modal-backdrop[data-v-b72e0752]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1050}.modal-dialog[data-v-b72e0752]{background-color:#fff;border-radius:.3rem;max-width:500px;width:100%;box-shadow:0 0 15px rgba(0,0,0,.3)}.modal-content[data-v-b72e0752]{display:flex;flex-direction:column;height:100%}.modal-footer[data-v-b72e0752],.modal-header[data-v-b72e0752]{padding:1rem;border-bottom:1px solid #dee2e6}.modal-footer[data-v-b72e0752]{border-top:1px solid #dee2e6;border-bottom:none;display:flex;justify-content:flex-end}.modal-body[data-v-b72e0752]{padding:1rem;flex-grow:1;overflow-y:auto}.btn-close[data-v-b72e0752]{background:none;border:none;font-size:1.5rem;cursor:pointer;line-height:1}.is-invalid[data-v-b72e0752]{border-color:#dc3545}.invalid-feedback[data-v-b72e0752]{color:#dc3545;font-size:.875em}.departments-page[data-v-e7cfc0be]{padding:32px;min-height:100vh;background-color:#f9f9f9;display:flex;flex-direction:column}.header[data-v-e7cfc0be]{margin-bottom:24px}.header h2[data-v-e7cfc0be]{margin-bottom:12px}.actions[data-v-e7cfc0be]{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.search-input[data-v-e7cfc0be]{flex-grow:1;padding:10px 16px;font-size:16px;border:1px solid #ccc;border-radius:8px;background:#fff}.add-button[data-v-e7cfc0be]{padding:10px 16px;font-size:16px;background-color:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.add-button[data-v-e7cfc0be]:hover{background-color:#45a045}.department-table[data-v-e7cfc0be]{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:16px;flex-grow:1;overflow-y:auto}.empty-state[data-v-e7cfc0be]{text-align:center;color:#999;font-size:16px;padding:40px 0}.footer[data-v-e7cfc0be]{text-align:center;font-size:14px;color:#888;padding:16px 0;margin-top:auto}.modal[data-v-098fbe26]{background:rgba(0,0,0,.5)}.calendar[data-v-64fbafc0]{background:#fff;border-radius:8px;padding:10px;box-shadow:0 0 10px rgba(0,0,0,.08)}.calendar-toolbar[data-v-64fbafc0]{flex-wrap:wrap;gap:1rem}@media (max-width:768px){.calendar-toolbar[data-v-64fbafc0]{flex-direction:column;align-items:flex-start}}.cursor-pointer[data-v-072a141a]{cursor:pointer}.unauthorized-page{flex-direction:row;height:100vh;color:#fff;overflow-x:hidden;max-width:100vw}.image-section,.unauthorized-page{display:flex;background-color:#000}.image-section{justify-content:center;align-items:center;width:50%}.cat-image{max-height:100vh;height:auto;width:auto;-o-object-fit:contain;object-fit:contain}.text-section{width:50%;display:flex;flex-direction:column;justify-content:center;padding:60px}.o-kak{font-size:48px;font-weight:900;text-transform:uppercase;color:transparent;-webkit-text-stroke:2px #fff;animation:pulse 1.2s infinite;margin-bottom:30px;text-align:left}@keyframes pulse{0%,to{opacity:1;-webkit-text-stroke:2px #fff}50%{opacity:.6;-webkit-text-stroke:2px #007bff}}.title{font-size:36px;font-weight:800;margin-bottom:20px;color:#fff}.message{font-size:18px;color:#ccc;margin-bottom:30px}.back-button{display:inline-block;background-color:#007bff;color:#fff;padding:10px 20px;font-size:16px;font-weight:500;border-radius:4px;text-decoration:none;width:-moz-fit-content;width:fit-content;transition:background-color .2s ease-in-out}.back-button:hover{background-color:#0056b3}@media (max-width:1024px){.unauthorized-page{flex-direction:column}.image-section,.text-section{width:100%}.cat-image{width:100%;height:auto;max-height:50vh;-o-object-fit:contain;object-fit:contain}.text-section{padding:40px 30px;align-items:center;text-align:center}.o-kak{font-size:40px;text-align:center}.title{font-size:32px}.message{font-size:18px}.back-button{font-size:16px;padding:12px 24px}}@media (max-width:600px){.unauthorized-page{flex-direction:column}.image-section,.text-section{width:100%}.cat-image{width:100%;height:auto;max-height:40vh;-o-object-fit:contain;object-fit:contain}.text-section{padding:20px 15px;align-items:center;text-align:center}.o-kak{font-size:28px}.title{font-size:24px}.back-button,.message{font-size:14px}.back-button{padding:10px 20px}}