.v-spinner .v-dot1{-webkit-animation:v-dotRotate 2s linear 0s infinite;animation:v-dotRotate 2s linear 0s infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.v-spinner .v-dot2{-webkit-animation:v-dotBounce 2s linear 0s infinite;animation:v-dotBounce 2s linear 0s infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;position:absolute;top:0;bottom:auto}.v-spinner .v-dot3{-webkit-animation:v-dotBounce 2s linear -1s infinite;animation:v-dotBounce 2s linear -1s infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;position:absolute;top:auto;bottom:0}@-webkit-keyframes v-dotRotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes v-dotRotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes v-dotBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes v-dotBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.loading-overlay[data-v-443f9844]{position:fixed;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.8);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:9999}:root{--color-primary:#0052cc;--color-primary-dark:#003a99;--color-secondary:#00d084;--color-secondary-dark:#009e66;--color-bg:#fff;--color-bg-secondary:#f8fafc;--color-text:#0f172a;--color-text-secondary:#475569;--color-border:#e2e8f0;--gradient-brand:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);--gradient-brand-hover:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-secondary-dark) 100%);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);--shadow-md:0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--shadow-lg:0 12px 32px rgba(15,23,42,.12),0 4px 8px rgba(15,23,42,.04);--shadow-primary:0 8px 24px rgba(0,82,204,.24);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{font-family:var(--font-sans)}body,html{-ms-scroll-chaining:none;overscroll-behavior:none;background-color:var(--color-bg-secondary);color:var(--color-text)}body{margin:unset;font-size:14px;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;color:var(--color-text);letter-spacing:-.02em}a{color:var(--color-primary);-webkit-transition:color .15s ease;transition:color .15s ease}a:hover{color:var(--color-primary-dark)}::-moz-selection{background:rgba(0,82,204,.15)}::selection{background:rgba(0,82,204,.15)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8;background-clip:content-box}.btn{font-family:var(--font-sans);font-weight:600;font-size:.875rem;border-radius:var(--radius-sm);padding:.55rem 1.1rem;border:1px solid transparent;-webkit-transition:background-color .15s ease,border-color .15s ease,color .15s ease,-webkit-transform .15s ease,-webkit-box-shadow .15s ease;transition:background-color .15s ease,border-color .15s ease,color .15s ease,-webkit-transform .15s ease,-webkit-box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease,-webkit-transform .15s ease,-webkit-box-shadow .15s ease;letter-spacing:-.01em}.btn:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn-primary,.btn-success{background:var(--gradient-brand);border-color:transparent;-webkit-box-shadow:var(--shadow-primary);box-shadow:var(--shadow-primary);color:#fff}.btn-primary:focus,.btn-primary:hover,.btn-success:focus,.btn-success:hover{background:var(--gradient-brand-hover);border-color:transparent;-webkit-box-shadow:0 10px 28px rgba(0,82,204,.32);box-shadow:0 10px 28px rgba(0,82,204,.32);color:#fff}.btn-primary.disabled,.btn-primary:disabled{background:#cbd5e1;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outline-secondary,.btn-secondary{background-color:#fff;border-color:var(--color-border);color:var(--color-text)}.btn-outline-secondary:hover,.btn-secondary:hover{background-color:var(--color-bg-secondary);border-color:#cbd5e1;color:var(--color-text)}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary);background-color:transparent}.btn-outline-primary:hover{background:var(--gradient-brand);border-color:transparent;color:#fff}.btn-link{font-weight:600;color:var(--color-primary)}.btn-sm{border-radius:7px;font-size:.8125rem}.btn-lg{border-radius:var(--radius-md);font-size:1rem}.card{border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);-webkit-transition:border-color .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;transition:border-color .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease,-webkit-transform .2s ease;background-color:#fff}.card:hover{-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.card-header{background-color:#fff;border-bottom:1px solid var(--color-border);border-top-left-radius:var(--radius-md)!important;border-top-right-radius:var(--radius-md)!important;font-weight:600;padding:1rem 1.25rem}.card-body{padding:1.25rem}.dashboard-card,.module-card{cursor:pointer}.dashboard-card:hover,.module-card:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);border-color:rgba(0,82,204,.25)}.custom-select,.form-control,.vs__dropdown-toggle,textarea.form-control{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem .85rem;font-size:.875rem;color:var(--color-text);background-color:#fff;-webkit-transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.custom-select:focus,.form-control:focus,.vs__dropdown-toggle:focus-within{border-color:var(--color-primary);-webkit-box-shadow:0 0 0 3px rgba(0,82,204,.12);box-shadow:0 0 0 3px rgba(0,82,204,.12)}.form-control::-webkit-input-placeholder{color:#94a3b8}.form-control::-moz-placeholder{color:#94a3b8}.form-control:-ms-input-placeholder{color:#94a3b8}.form-control::-ms-input-placeholder{color:#94a3b8}.form-control::placeholder{color:#94a3b8}label{font-weight:600;font-size:.8125rem;color:var(--color-text-secondary)}.form-control:disabled,.form-control[readonly]{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.custom-switch .custom-control-input:checked~.custom-control-label:before{background:var(--gradient-brand);border-color:transparent}.badge{font-weight:600;border-radius:999px;padding:.35em .75em;letter-spacing:-.01em}.badge-primary{background:var(--gradient-brand);color:#fff}.badge-success{background-color:rgba(0,208,132,.12);color:var(--color-secondary-dark)}.badge-warning{background-color:rgba(245,158,11,.12);color:#b45309}.badge-danger{background-color:rgba(239,68,68,.12);color:#b91c1c}.alert{border:1px solid transparent;border-radius:var(--radius-md);font-size:.875rem}.alert-info{background-color:#eff6ff;border-color:#dbeafe;color:var(--color-primary-dark)}.alert-success{background-color:#ecfdf5;border-color:#d1fae5;color:var(--color-secondary-dark)}.table{font-size:.875rem;color:var(--color-text)}.table thead th{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);border-top:none;padding:.75rem 1rem}.table td{padding:.75rem 1rem;border-top:1px solid var(--color-border);vertical-align:middle}.table-hover tbody tr:hover{background-color:var(--color-bg-secondary)}.vgt-table{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)!important}.vgt-table thead th{background-color:var(--color-bg-secondary)!important;color:var(--color-text-secondary)!important;font-weight:600!important;text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}.modal-content{border:none;border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg)}.modal-header{border-bottom:1px solid var(--color-border);padding:1.25rem 1.5rem}.modal-header .modal-title{font-weight:700}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--color-border);padding:1rem 1.5rem}.dropdown-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg);padding:.5rem}.dropdown-item{border-radius:var(--radius-sm);font-size:.875rem;padding:.5rem .75rem}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.dropdown-item.active,.dropdown-item:active{background:var(--gradient-brand);color:#fff}.nav-tabs{border-bottom:1px solid var(--color-border)}.nav-tabs .nav-link{border:none;font-weight:600;color:var(--color-text-secondary);padding:.75rem 1rem}.nav-tabs .nav-link.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary);background:transparent}.page-link{border-color:var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-sm);margin:0 2px}.page-item.active .page-link{background:var(--gradient-brand);border-color:transparent}.bg-primary,.navbar.bg-primary{background:var(--gradient-brand)!important}.topbar-navigation .navbar{-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.v-sidebar-menu{background-color:#fff!important;border-right:1px solid var(--color-border)}.v-sidebar-menu .vsm--link_level-1{border-radius:var(--radius-sm);margin:2px 8px;font-weight:500;color:var(--color-text-secondary)}.v-sidebar-menu .vsm--link_level-1.vsm--link_active,.v-sidebar-menu .vsm--link_level-1:hover{background:rgba(0,82,204,.08);color:var(--color-primary)}.v-sidebar-menu .vsm--link_level-1.vsm--link_active{background:var(--gradient-brand);color:#fff}.layout{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100vh}.layout,.topbar{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.topbar{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem 1rem;position:fixed;top:0;z-index:1030}.main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden}.sidebar{position:fixed;z-index:1020}.content,.sidebar{-webkit-transition:all .3s;transition:all .3s}.content{-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;overflow-x:hidden;background-color:var(--color-bg-secondary)}.content.collapsed{margin-left:50px}@media (max-width:768px){.sidebar{width:100%;height:auto;position:relative}.content{width:100%}.content,.content.collapsed{margin-left:0}.topbar-title{font-size:1rem}.topbar-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.gradient-bg,.gradient-text{background:var(--gradient-brand)}.gradient-text{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.shadow-soft{-webkit-box-shadow:var(--shadow-md)!important;box-shadow:var(--shadow-md)!important}.rounded-lg-custom{border-radius:var(--radius-lg)!important}.text-muted{color:var(--color-text-secondary)!important}.button-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 12px;background-color:transparent;color:var(--color-text-secondary);font-size:16px;font-weight:500;border:2px solid transparent;border-radius:var(--radius-sm);-webkit-transition:background-color .3s,-webkit-transform .2s;transition:background-color .3s,-webkit-transform .2s;transition:background-color .3s,transform .2s;transition:background-color .3s,transform .2s,-webkit-transform .2s;cursor:pointer}.vs-valid-field.vs--single.vs--searchable:not(.vs--loading){&.is-valid .vs__dropdown-toggle,&:not(.is-invalid) .vs__dropdown-toggle:focus{border-color:var(--color-secondary);-webkit-box-shadow:0 0 0 3px rgba(0,208,132,.15);box-shadow:0 0 0 3px rgba(0,208,132,.15)}&.is-invalid .vs__dropdown-toggle{border-color:#dc2626;-webkit-box-shadow:0 0 0 3px rgba(220,38,38,.15);box-shadow:0 0 0 3px rgba(220,38,38,.15)}}.vs__selected{.is-valid &{border-color:var(--color-secondary)}.is-invalid &{border-color:#dc2626}}