.sidebar[data-v-5220eeaf]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-divider);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition);overflow:hidden}.sidebar-brand[data-v-5220eeaf]{height:var(--header-height);display:flex;align-items:center;padding:0 18px;gap:10px;border-bottom:1px solid var(--sidebar-divider);flex-shrink:0}.sidebar-brand .logo[data-v-5220eeaf]{width:30px;height:30px;background:var(--accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;letter-spacing:-.5px}.sidebar-brand .brand-text[data-v-5220eeaf]{color:#1e293b;font-weight:600;font-size:14px;letter-spacing:-.2px;white-space:nowrap}.sidebar-brand .brand-sub[data-v-5220eeaf]{color:var(--sidebar-section);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.sidebar-nav[data-v-5220eeaf]{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.sidebar-nav[data-v-5220eeaf]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-5220eeaf]::-webkit-scrollbar-track{background:transparent}.sidebar-nav[data-v-5220eeaf]::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.nav-item[data-v-5220eeaf]{position:relative}.nav-link[data-v-5220eeaf]{display:flex;align-items:center;padding:0 18px;height:36px;color:var(--sidebar-text);text-decoration:none;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);gap:10px;-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-link[data-v-5220eeaf]:hover{color:var(--sidebar-text-hover);background:var(--sidebar-hover)}.nav-link.active[data-v-5220eeaf],.nav-link.router-link-exact-active[data-v-5220eeaf]{color:var(--sidebar-text-active);background:var(--sidebar-active)}.nav-link .icon[data-v-5220eeaf]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}.nav-link .label[data-v-5220eeaf]{flex:1}.nav-link .arrow[data-v-5220eeaf]{font-size:10px;transition:transform var(--transition);opacity:.4}.nav-link.expanded .arrow[data-v-5220eeaf]{transform:rotate(90deg);opacity:.7}.nav-divider[data-v-5220eeaf]{height:1px;background:var(--sidebar-divider);margin:6px 18px}.nav-section-label[data-v-5220eeaf]{padding:16px 18px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--sidebar-section)}.submenu[data-v-5220eeaf]{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1)}.submenu.open[data-v-5220eeaf]{max-height:1200px}.submenu .nav-link[data-v-5220eeaf]{padding-left:48px;height:32px;font-size:12.5px;font-weight:400}.submenu .nav-link[data-v-5220eeaf]:before{content:"";position:absolute;left:28px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--sidebar-section);transform:translateY(-50%);transition:background var(--transition)}.submenu .nav-link[data-v-5220eeaf]:hover:before,.submenu .nav-link.active[data-v-5220eeaf]:before,.submenu .nav-link.router-link-exact-active[data-v-5220eeaf]:before{background:var(--sidebar-text-active)}.sidebar-overlay[data-v-5220eeaf]{display:none;position:fixed;inset:0;background:#00000080;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.active[data-v-5220eeaf]{display:block}@media(max-width:1024px){.sidebar[data-v-5220eeaf]{transform:translate(-100%)}.sidebar.open[data-v-5220eeaf]{transform:translate(0)}}@media(max-width:640px){.sidebar[data-v-5220eeaf]{width:300px}}.modal-enter-active,.modal-leave-active{transition:opacity .2s ease}.modal-enter-from,.modal-leave-to{opacity:0}.header[data-v-fcebdc6b]{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--header-border);display:flex;align-items:center;padding:0 20px;gap:16px;flex-shrink:0;z-index:50}.header-burger[data-v-fcebdc6b]{display:none;width:36px;height:36px;border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:20px;align-items:center;justify-content:center}.header-burger[data-v-fcebdc6b]:hover{background:var(--bg-body)}.header-breadcrumb[data-v-fcebdc6b]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.header-breadcrumb span[data-v-fcebdc6b]{color:var(--text-primary);font-weight:600}.header-spacer[data-v-fcebdc6b]{flex:1}.header-actions[data-v-fcebdc6b]{display:flex;align-items:center;gap:4px;position:relative}.header-btn[data-v-fcebdc6b]{width:36px;height:36px;border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:16px;display:flex;align-items:center;justify-content:center;position:relative;transition:all var(--transition)}.header-btn[data-v-fcebdc6b]:hover{background:var(--bg-body);color:var(--text-primary)}.header-btn .badge[data-v-fcebdc6b]{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--header-bg)}.header-user[data-v-fcebdc6b]{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);margin-left:4px}.header-user[data-v-fcebdc6b]:hover{background:var(--bg-body)}.header-avatar[data-v-fcebdc6b]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7c5cff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}.header-user-name[data-v-fcebdc6b]{font-size:13px;font-weight:500;color:var(--text-primary)}.notif-panel[data-v-fcebdc6b]{position:fixed;top:var(--header-height);right:0;width:360px;max-height:calc(100vh - var(--header-height));background:var(--card-bg);border-left:1px solid var(--card-border);box-shadow:-4px 0 12px #00000014;z-index:200;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.notif-panel.open[data-v-fcebdc6b]{transform:translate(0)}.notif-header[data-v-fcebdc6b]{padding:16px 20px;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between}.notif-header h4[data-v-fcebdc6b]{font-size:14px;font-weight:700;color:var(--text-primary)}.notif-close[data-v-fcebdc6b]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px}.notif-list[data-v-fcebdc6b]{flex:1;overflow-y:auto;padding:8px 0}.notif-item[data-v-fcebdc6b]{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .2s}.notif-item[data-v-fcebdc6b]:hover{background:#00000005}.notif-icon[data-v-fcebdc6b]{width:32px;height:32px;border-radius:50%;background:var(--bg-body);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.notif-warning .notif-icon[data-v-fcebdc6b]{background:#ff98001a}.notif-info .notif-icon[data-v-fcebdc6b]{background:#2563eb1a}.notif-title[data-v-fcebdc6b]{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notif-desc[data-v-fcebdc6b]{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.notif-time[data-v-fcebdc6b]{font-size:11px;color:var(--text-muted)}@media(max-width:1024px){.header-burger[data-v-fcebdc6b]{display:flex}}.chevron-icon[data-v-fcebdc6b]{width:14px;height:14px;color:var(--text-muted);transition:transform .2s}.chevron-icon.rotated[data-v-fcebdc6b]{transform:rotate(180deg)}.user-dropdown[data-v-fcebdc6b]{position:absolute;top:100%;right:0;margin-top:4px;width:260px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:300;padding:8px 0}.dropdown-user-info[data-v-fcebdc6b]{display:flex;align-items:center;gap:12px;padding:12px 16px}.dropdown-avatar[data-v-fcebdc6b]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7c5cff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;flex-shrink:0}.dropdown-name[data-v-fcebdc6b]{font-size:14px;font-weight:600;color:var(--text-primary)}.dropdown-email[data-v-fcebdc6b]{font-size:12px;color:var(--text-muted);margin-top:1px}.dropdown-divider[data-v-fcebdc6b]{height:1px;background:var(--card-border);margin:4px 0}.dropdown-item[data-v-fcebdc6b]{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;background:none;font-size:14px;font-family:inherit;color:#dc2626;cursor:pointer;transition:background .15s}.dropdown-item[data-v-fcebdc6b]:hover{background:#fef2f2}.dropdown-item svg[data-v-fcebdc6b]{flex-shrink:0}@media(max-width:640px){.header[data-v-fcebdc6b]{padding:0 12px}.header-user-name[data-v-fcebdc6b]{display:none}.user-dropdown[data-v-fcebdc6b]{right:12px;width:240px}}.status-bar[data-v-6bd6afa4]{height:var(--status-height);background:var(--status-bg);display:flex;align-items:center;padding:0 20px;gap:24px;font-family:JetBrains Mono,monospace;font-size:11px;flex-shrink:0}.status-item[data-v-6bd6afa4]{display:flex;align-items:center;gap:6px;color:var(--status-text)}.status-item .dot[data-v-6bd6afa4]{width:6px;height:6px;border-radius:50%;background:var(--success)}.status-item .dot--warn[data-v-6bd6afa4]{background:#f59e0b}.status-item strong[data-v-6bd6afa4]{color:#1e293b;font-weight:500}.status-item .accent[data-v-6bd6afa4]{color:var(--status-accent);font-weight:600}.status-spacer[data-v-6bd6afa4]{flex:1}.periodo-nav[data-v-6bd6afa4]{display:flex;align-items:center;gap:6px}.nav-btn[data-v-6bd6afa4]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:#fff9;color:#475569;font-size:12px;font-weight:700;cursor:pointer;line-height:1;transition:all .15s}.nav-btn[data-v-6bd6afa4]:hover:not(:disabled){background:#ffffffe6;color:#1e293b}.nav-btn[data-v-6bd6afa4]:disabled{opacity:.4;cursor:not-allowed}@media(max-width:640px){.status-bar[data-v-6bd6afa4]{padding:0 12px;gap:12px;font-size:10px;overflow-x:auto}}.main-wrapper[data-v-dbb4f1f2]{margin-left:var(--sidebar-width);display:flex;flex-direction:column;height:100vh;transition:margin-left var(--transition)}.content[data-v-dbb4f1f2]{flex:1;overflow-y:auto;padding:24px}@media(max-width:1024px){.main-wrapper[data-v-dbb4f1f2]{margin-left:0}}@media(max-width:640px){.content[data-v-dbb4f1f2]{padding:16px}}.login-page[data-v-b1b4af91]{display:flex;min-height:100vh;font-family:DM Sans,sans-serif}.login-brand[data-v-b1b4af91]{display:none;width:45%;order:2;background:linear-gradient(135deg,#1e40af,#2563eb,#3b82f6);color:#fff;padding:48px;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand[data-v-b1b4af91]:before{content:"";position:absolute;top:-20%;right:-10%;width:400px;height:400px;background:#ffffff0d;border-radius:50%}.login-brand[data-v-b1b4af91]:after{content:"";position:absolute;bottom:-15%;left:-5%;width:300px;height:300px;background:#ffffff08;border-radius:50%}.brand-content[data-v-b1b4af91]{position:relative;z-index:1;margin-top:40px}.brand-logo[data-v-b1b4af91]{width:64px;height:64px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:32px}.brand-title[data-v-b1b4af91]{font-size:36px;font-weight:700;margin:0 0 8px;letter-spacing:-.5px}.brand-subtitle[data-v-b1b4af91]{font-size:16px;opacity:.8;margin:0 0 48px;font-weight:400}.brand-features[data-v-b1b4af91]{display:flex;flex-direction:column;gap:20px}.brand-feature[data-v-b1b4af91]{display:flex;align-items:center;gap:14px;font-size:15px;opacity:.9}.feature-icon[data-v-b1b4af91]{font-size:20px;width:40px;height:40px;background:#ffffff1a;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-footer[data-v-b1b4af91]{position:relative;z-index:1;font-size:13px;opacity:.5;margin:0}.login-form-side[data-v-b1b4af91]{flex:1;order:1;display:flex;align-items:center;justify-content:center;padding:32px;background:#f8fafc}.login-form-wrapper[data-v-b1b4af91]{width:100%;max-width:420px}.form-header[data-v-b1b4af91]{margin-bottom:32px}.form-logo-mobile[data-v-b1b4af91]{display:none;width:48px;height:48px;background:#2563eb;color:#fff;border-radius:12px;align-items:center;justify-content:center;font-size:18px;font-weight:700;margin-bottom:24px}.form-title[data-v-b1b4af91]{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 8px;letter-spacing:-.3px}.form-subtitle[data-v-b1b4af91]{font-size:15px;color:#64748b;margin:0}.login-form[data-v-b1b4af91]{display:flex;flex-direction:column;gap:20px}.form-error[data-v-b1b4af91]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:14px}.error-icon[data-v-b1b4af91]{width:18px;height:18px;flex-shrink:0}.form-group[data-v-b1b4af91]{display:flex;flex-direction:column;gap:6px}.label-row[data-v-b1b4af91]{display:flex;justify-content:space-between;align-items:center}.form-label[data-v-b1b4af91]{font-size:14px;font-weight:500;color:#334155}.forgot-link[data-v-b1b4af91]{font-size:13px;color:#2563eb;text-decoration:none;font-weight:500}.forgot-link[data-v-b1b4af91]:hover{color:#1d4ed8;text-decoration:underline}.input-wrapper[data-v-b1b4af91]{position:relative;display:flex;align-items:center}.input-icon[data-v-b1b4af91]{position:absolute;left:14px;width:18px;height:18px;color:#94a3b8;pointer-events:none}.form-input[data-v-b1b4af91]{width:100%;padding:12px 14px 12px 44px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:inherit;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s;outline:none}.form-input.has-toggle[data-v-b1b4af91]{padding-right:44px}.form-input[data-v-b1b4af91]::placeholder{color:#94a3b8}.form-input[data-v-b1b4af91]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.password-toggle[data-v-b1b4af91]{position:absolute;right:12px;background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center}.password-toggle[data-v-b1b4af91]:hover{color:#64748b}.toggle-icon[data-v-b1b4af91]{width:18px;height:18px}.remember-row[data-v-b1b4af91]{display:flex;align-items:center}.remember-label[data-v-b1b4af91]{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-check[data-v-b1b4af91]{width:16px;height:16px;border-radius:4px;accent-color:#2563eb}.submit-btn[data-v-b1b4af91]{width:100%;padding:13px 20px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s}.submit-btn[data-v-b1b4af91]:hover:not(:disabled){background:#1d4ed8}.submit-btn[data-v-b1b4af91]:active:not(:disabled){transform:scale(.98)}.submit-btn[data-v-b1b4af91]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-b1b4af91]{width:20px;height:20px;animation:spin-b1b4af91 .8s linear infinite}@keyframes spin-b1b4af91{to{transform:rotate(360deg)}}@media(min-width:1024px){.login-brand[data-v-b1b4af91]{display:flex}.form-logo-mobile[data-v-b1b4af91]{display:none}}@media(max-width:1023px){.form-logo-mobile[data-v-b1b4af91]{display:flex}.login-form-side[data-v-b1b4af91]{min-height:100vh}}.social-divider[data-v-b1b4af91]{display:flex;align-items:center;gap:16px;margin:24px 0}.social-divider[data-v-b1b4af91]:before,.social-divider[data-v-b1b4af91]:after{content:"";flex:1;height:1px;background:#e2e8f0}.social-divider span[data-v-b1b4af91]{font-size:13px;color:#94a3b8;white-space:nowrap}.social-buttons[data-v-b1b4af91]{display:flex;gap:12px}.social-btn[data-v-b1b4af91]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:14px;font-weight:500;font-family:inherit;color:#334155;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.social-btn[data-v-b1b4af91]:hover{border-color:#cbd5e1;background:#f8fafc;box-shadow:0 1px 3px #0000000f}.social-btn[data-v-b1b4af91]:active{transform:scale(.98)}.social-icon[data-v-b1b4af91]{width:20px;height:20px;flex-shrink:0}@media(max-width:480px){.login-form-side[data-v-b1b4af91]{padding:24px 20px}.form-title[data-v-b1b4af91]{font-size:24px}.social-buttons[data-v-b1b4af91]{flex-direction:column}}
