@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}.page-header-bar{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}@media(max-width:768px){.page-header-bar{align-items:stretch;flex-direction:column;padding:1.25rem;text-align:center}.page-title h2{font-size:1.35rem}.page-actions{flex-direction:column;margin-top:.5rem;width:100%}.page-actions button{justify-content:center;padding:.8rem;width:100%}}.modal-overlay[data-v-33d0e0fb]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182799;display:flex;height:100%;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100%;z-index:9999}.modal-card[data-v-33d0e0fb]{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:400px;overflow-y:auto;padding:2.5rem 2rem;text-align:center;width:100%}.modal-icon-wrapper[data-v-33d0e0fb]{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 1.25rem;width:64px}.modal-icon-wrapper .icon[data-v-33d0e0fb]{height:32px;width:32px}.bg-warning[data-v-33d0e0fb]{background:#fef3c7;color:#d97706}.bg-error[data-v-33d0e0fb]{background:#fee2e2;color:#dc2626}.bg-success[data-v-33d0e0fb]{background:#dcfce3;color:#16a34a}.bg-info[data-v-33d0e0fb]{background:#e0e7ff;color:#4f46e5}.modal-title[data-v-33d0e0fb]{color:#111827;font-size:1.4rem;font-weight:700;margin:0 0 .5rem}.modal-text[data-v-33d0e0fb]{color:#6b7280;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.modal-actions[data-v-33d0e0fb]{display:flex;gap:.75rem;justify-content:center}.btn[data-v-33d0e0fb]{border:none;border-radius:8px;cursor:pointer;flex:1;font-family:inherit;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel[data-v-33d0e0fb]{background:#f3f4f6;color:#4b5563}.btn-cancel[data-v-33d0e0fb]:hover{background:#e5e7eb;color:#111827}.btn-confirm[data-v-33d0e0fb]{background:#2563eb;color:#fff}.btn-confirm[data-v-33d0e0fb]:hover{filter:brightness(.9)}.modal-fade-enter-active[data-v-33d0e0fb],.modal-fade-leave-active[data-v-33d0e0fb]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-33d0e0fb],.modal-fade-leave-to[data-v-33d0e0fb]{opacity:0}.modal-fade-enter-active .modal-card[data-v-33d0e0fb]{animation:modal-pop-33d0e0fb .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modal-pop-33d0e0fb{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#custom-titlebar{align-items:center;background-color:#202225;color:#fff;display:none;height:30px;justify-content:space-between;left:0;position:fixed;top:0;width:100%;z-index:999999;-webkit-app-region:drag;-webkit-user-select:none;-moz-user-select:none;user-select:none}.window-controls{display:flex}.window-controls button{-webkit-app-region:no-drag;align-items:center;background:transparent;border:none;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;width:45px}.window-controls button:hover{background-color:#40444b}#close-btn:hover{background-color:#ed4245}body{background-color:#f3f4f6;color:#1f2937;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.container{box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:100%;min-height:100vh;padding:2rem}.top-nav{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem 2rem}.nav-brand{color:#111827;font-size:1.25rem;font-weight:700}.nav-links,.nav-right{display:flex;gap:1rem}.nav-right{align-items:center}.main-layout{align-items:start;display:grid;gap:1.5rem;grid-template-columns:260px 1fr}.global-sidebar{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:1.5rem 1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.nav-item{align-items:center;border-radius:8px;color:#4b5563;display:flex;font-weight:500;gap:.75rem;padding:.8rem 1rem;text-decoration:none;transition:.2s}.nav-icon{font-size:1.2rem}.nav-item:hover{background:#f3f4f6;color:#111827}.router-link-exact-active{background:#eff6ff;color:#2563eb;font-weight:600}.my-2{margin-bottom:.5rem;margin-top:.5rem}.border-muted{border:0;border-top:1px solid #e5e7eb}.text-sm{font-size:.875rem}.font-medium{font-weight:500}.text-muted{color:#6b7280}.page-content{width:100%}.btn-outline,.btn-primary{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.8rem;transition:all .2s;width:100%}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-outline{background-color:transparent;border:1px dashed #d1d5db;color:#4b5563}.btn-outline:hover{background-color:#f9fafb;border-color:#9ca3af}.icon-btn{background:none;color:#6b7280;height:36px;justify-content:center;width:36px}.btn-logout,.icon-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;transition:.2s}.btn-logout{background:#fee2e2;color:#dc2626;font-weight:600;gap:.5rem;padding:.5rem 1rem}.btn-logout:hover{background:#fca5a5}.global-loader{background-color:#f3f4f6;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:99999}.global-loader,.loader-content{align-items:center;display:flex}.loader-content{flex-direction:column;gap:.5rem;text-align:center}.loader-spinner{color:#2563eb;font-size:3.5rem;margin-bottom:.5rem}.loader-title{color:#111827;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin:0}.loader-subtitle{color:#6b7280;font-size:.9rem;margin:0}.fade-enter-active,.fade-leave-active{transition:opacity .4s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:768px){.container{padding:1rem .5rem}.main-layout{grid-template-columns:1fr}.top-nav{flex-direction:column;gap:1rem;text-align:center}}
