@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent;gap:var(--spacing-2);white-space:nowrap;outline:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.btn-md{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.btn-full-width{width:100%}.btn-primary{background-color:var(--color-primary-500);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-700)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-800)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.btn-outline{background-color:transparent;border-color:var(--color-gray-300);color:var(--color-gray-700)}.btn-outline:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:currentColor;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.datepicker-container{position:relative;width:100%;font-family:var(--font-family-base)}.datepicker-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--spacing-1)}.datepicker-input-wrapper{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:42px}.datepicker-input-wrapper:hover{border-color:var(--color-primary-300)}.datepicker-input-wrapper.open{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.datepicker-input-wrapper.error{border-color:var(--color-error)}.datepicker-input-wrapper.disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}.datepicker-display-value{font-size:var(--font-size-sm);color:var(--color-gray-900);font-weight:500}.datepicker-display-value .placeholder{color:var(--color-gray-400);font-weight:400}.datepicker-icon{color:var(--color-gray-400);transition:color var(--transition-fast)}.datepicker-input-wrapper:hover .datepicker-icon{color:var(--color-primary-500)}.datepicker-overlay{position:absolute;top:calc(100% + 8px);left:0;z-index:10000;width:280px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:var(--radius-xl);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d,inset 0 0 0 1px #ffffff80;padding:16px;animation:datePickerSlideIn .2s cubic-bezier(0,0,.2,1);transform-origin:top left}@keyframes datePickerSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.month-display{font-weight:700;color:var(--color-gray-800);font-size:.9rem}.nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-gray-500);transition:all .2s;background:var(--color-gray-50)}.nav-btn:hover{background:var(--color-primary-50);color:var(--color-primary-600)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday{text-align:center;font-size:.65rem;font-weight:800;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:500;color:var(--color-gray-700);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.calendar-day:hover{background:var(--color-gray-100);color:var(--color-primary-600)}.calendar-day.padding{color:var(--color-gray-300);cursor:default}.calendar-day.padding:hover{background:transparent}.calendar-day.today{color:var(--color-primary-600);font-weight:800;background:var(--color-primary-50)}.calendar-day.selected{background:var(--color-primary-500)!important;color:var(--color-white)!important;font-weight:700;box-shadow:0 4px 6px -1px #6366f166}.datepicker-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-gray-100)}.footer-btn{padding:6px 12px;font-size:.75rem;font-weight:600;border-radius:var(--radius-md);display:flex;align-items:center;gap:6px;transition:all .2s}.footer-btn.secondary{color:var(--color-gray-500);background:transparent}.footer-btn.secondary:hover{color:var(--color-error);background:#ef444414}.footer-btn.primary{background:var(--color-primary-600);color:var(--color-white)}.footer-btn.primary:hover{background:var(--color-primary-700);box-shadow:0 4px 6px -1px #0000001a}.datepicker-error-text{margin-top:4px;font-size:var(--font-size-xs);color:var(--color-error);font-weight:500}@media(max-width:640px){.datepicker-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:320px;animation:datePickerMobileReveal .3s cubic-bezier(0,0,.2,1)}@keyframes datePickerMobileReveal{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}}.input-container{display:flex;flex-direction:column;gap:var(--spacing-1);width:100%}.input-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.input-wrapper{position:relative;display:flex;align-items:center;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:42px}.input-wrapper:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.input-wrapper-error{border-color:var(--color-error)}.input-wrapper-error:focus-within{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.input-field{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-gray-900);border:none;background:transparent;outline:none;border-radius:var(--radius-md)}.input-field::placeholder{color:var(--color-gray-400)}.input-icon-left{position:absolute;left:0;top:0;bottom:0;width:40px;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);pointer-events:none}.input-icon-right{position:absolute;right:0;top:0;bottom:0;width:40px;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);pointer-events:none}.input-error-text{font-size:var(--font-size-xs);color:var(--color-error)}.input-helper-text{font-size:var(--font-size-xs);color:var(--color-gray-500)}.textarea-container{display:flex;flex-direction:column;gap:var(--spacing-1);width:100%}.textarea-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.textarea-field{width:100%;padding:var(--spacing-3);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-gray-900);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:100px;resize:vertical;outline:none}.textarea-field:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.textarea-field-error{border-color:var(--color-error)}.textarea-field-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.textarea-error-text{font-size:var(--font-size-xs);color:var(--color-error)}.textarea-helper-text{font-size:var(--font-size-xs);color:var(--color-gray-500)}.select-container{display:flex;flex-direction:column;gap:var(--spacing-1);width:100%;min-width:0;position:relative}.select-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.select-wrapper-custom{position:relative;display:flex;align-items:center;justify-content:space-between;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:42px}.select-wrapper-custom:hover{border-color:var(--color-primary-400);background-color:var(--color-gray-50)}.select-is-open .select-wrapper-custom{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.select-wrapper-error{border-color:var(--color-error)!important}.select-disabled{background-color:var(--color-gray-100);border-color:var(--color-gray-200);cursor:not-allowed;opacity:.8}.select-disabled .select-display-value{color:var(--color-gray-500)}.select-disabled:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-200)}.select-display-value{font-size:var(--font-size-sm);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:var(--spacing-2)}.select-icon-custom{color:var(--color-gray-400);transition:transform .3s ease;flex-shrink:0}.select-icon-custom.rotate{transform:rotate(180deg);color:var(--color-primary-500)}.select-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 10px 15px -3px #0000001a,0 20px 25px -5px #0000001a;overflow:hidden;transform-origin:top}.glass-effect-premium .select-dropdown-list{background:#ffffffd9;border:1px solid rgba(255,255,255,.4)}.select-search-box{padding:10px 12px;border-bottom:1px solid var(--color-gray-100);background:var(--color-gray-50);display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:2}.select-search-box input{width:100%;border:none;background:transparent;font-size:13px;padding:4px;outline:none;color:var(--color-gray-800)}.select-search-box .search-icon{color:var(--color-gray-400)}.select-search-box .clear-icon{color:var(--color-gray-400);cursor:pointer}.select-search-box .clear-icon:hover{color:var(--color-error)}.select-options-scroll{max-height:280px;overflow-y:auto;padding:4px}.select-options-scroll::-webkit-scrollbar{width:6px}.select-options-scroll::-webkit-scrollbar-track{background:transparent}.select-options-scroll::-webkit-scrollbar-thumb{background:var(--color-gray-200);border-radius:10px}.select-options-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-gray-300)}.select-option-item{padding:10px 12px;font-size:13px;color:var(--color-gray-700);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.select-option-item:hover{background-color:var(--color-primary-50);color:var(--color-primary-700)}.select-option-item.selected{background-color:var(--color-primary-100);color:var(--color-primary-800);font-weight:600}.selected-indicator{width:6px;height:6px;background-color:var(--color-primary-500);border-radius:50%;box-shadow:0 0 10px var(--color-primary-400)}.select-no-results{padding:20px;text-align:center;font-size:12px;color:var(--color-gray-400);font-style:italic}.animate-fade-in{animation:selectFadeIn .2s cubic-bezier(0,0,.2,1)}@keyframes selectFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.select-error-text{font-size:11px;color:var(--color-error);margin-top:4px}.select-helper-text{font-size:11px;color:var(--color-gray-400);margin-top:4px}.checkbox-container{display:inline-flex;align-items:center;gap:var(--spacing-3);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-wrapper{position:relative;width:20px;height:20px}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-box{position:absolute;top:0;left:0;height:20px;width:20px;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);background-color:var(--color-white);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.checkbox-box svg{width:14px;height:14px;color:var(--color-white);transform:scale(0);transition:transform var(--transition-fast)}.checkbox-input:checked~.checkbox-box{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.checkbox-input:checked~.checkbox-box svg{transform:scale(1)}.checkbox-input:focus-visible~.checkbox-box{box-shadow:0 0 0 3px var(--color-primary-100)}.checkbox-label{font-size:var(--font-size-sm);color:var(--color-gray-700)}.switch-container{display:inline-flex;align-items:flex-start;gap:var(--spacing-4);cursor:pointer;-webkit-user-select:none;user-select:none}.switch-wrapper{position:relative;width:44px;height:24px}.switch-input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-gray-300);transition:.4s;border-radius:34px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-white);transition:.4s;border-radius:50%;box-shadow:var(--shadow-sm)}.switch-input:checked+.switch-slider{background-color:var(--color-primary-500)}.switch-input:checked+.switch-slider:before{transform:translate(20px)}.switch-input:focus-visible+.switch-slider{box-shadow:0 0 0 3px var(--color-primary-100)}.switch-text{display:flex;flex-direction:column}.switch-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800)}.switch-description{font-size:var(--font-size-xs);color:var(--color-gray-500)}.modal-overlay{position:fixed;inset:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal, 9999);animation:fadeIn var(--transition-fast) ease-out}.modal-content{background-color:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);max-height:90vh;display:flex;flex-direction:column;animation:slideUp var(--transition-fast) ease-out;margin:var(--spacing-4);width:calc(100% - 2rem);max-width:95vw;box-sizing:border-box}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-xl{max-width:1100px}.modal-full{width:98vw;height:98vh;max-height:98vh;max-width:98vw}@media(max-width:768px){.modal-content{margin:var(--spacing-2);max-height:95vh;border-radius:var(--radius-lg)}.modal-header,.modal-body{padding:var(--spacing-4)!important}}.modal-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0}.modal-close{color:var(--color-gray-400);transition:color var(--transition-fast)}.modal-close:hover{color:var(--color-gray-600)}.modal-body{padding:var(--spacing-6);overflow-y:auto;flex:1}.modal-footer{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-gray-100);display:flex;justify-content:flex-end;gap:var(--spacing-3);background-color:var(--color-white)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-liquid .modal-body{padding:0;overflow-y:auto;display:flex;flex-direction:column}.comp-card{background-color:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-fast)}.comp-card:hover{box-shadow:var(--shadow-md)}.comp-card-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:1rem;flex-wrap:wrap}.comp-card-title-group{display:flex;flex-direction:column}.comp-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.comp-card-subtitle{margin:var(--spacing-1) 0 0 0;font-size:var(--font-size-xs);color:var(--color-gray-500)}.comp-card-body{padding:var(--spacing-6);flex:1}.comp-card-body.no-padding{padding:0}.comp-card-footer{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50);display:flex;align-items:center;gap:1rem}@media(max-width:640px){.comp-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.comp-card-extra{width:100%}.comp-card-footer{flex-direction:column;width:100%}.mobile-full-width{width:100%!important;justify-content:center!important}}@media(max-width:1200px){.module-page>.comp-card{background-color:transparent!important;border:none!important;box-shadow:none!important}.module-page>.comp-card>.comp-card-body{padding:0!important}.comp-card-header,.comp-card-body{padding:var(--spacing-4)}}.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:var(--radius-sm);line-height:1}.badge-xs{padding:2px 6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.badge-sm{padding:2px 6px;font-size:10px}.badge-md{padding:4px 8px;font-size:var(--font-size-xs)}.badge-pill{border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-50);color:var(--color-primary-700);border:1px solid var(--color-primary-100)}.badge-success{background-color:#ecfdf5;color:#065f46;border:1px solid #d1fae5}.badge-warning{background-color:#fffbeb;color:#92400e;border:1px solid #fef3c7}.badge-error{background-color:#fef2f2;color:#991b1b;border:1px solid #fee2e2}.badge-info{background-color:var(--color-primary-50);color:#1e40af;border:1px solid #dbeafe}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-600);border:1px solid var(--color-gray-200)}.pagination-container{display:flex;align-items:center;justify-content:center;width:100%}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-2)}.pagination-info{display:flex;align-items:center;gap:var(--spacing-2);padding:0 var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:var(--font-weight-medium)}.current-page{color:var(--color-primary-600);font-weight:var(--font-weight-bold)}.page-separator{color:var(--color-gray-400);font-size:var(--font-size-xs)}.total-pages{color:var(--color-gray-800)}@media(max-width:640px){.pagination-info{padding:0 var(--spacing-2)}}.table-wrapper-main{background-color:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-gray-200);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.table-toolbar{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-6);background-color:var(--color-white);flex-wrap:wrap}.table-search-box{display:flex;align-items:center;gap:var(--spacing-3);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);padding:.5rem .85rem;border-radius:.75rem;min-width:250px;flex:1;max-width:400px;transition:all .2s ease}.table-search-box:focus-within{background-color:var(--color-white);border-color:var(--color-primary-300);box-shadow:0 0 0 4px #1e40af0d}.table-search-box svg{color:var(--color-gray-400)}.table-search-box input{border:none;background:transparent;width:100%;outline:none;font-size:var(--font-size-sm);color:var(--color-gray-700)}.table-extra-filters{display:flex;align-items:flex-end;gap:var(--spacing-4);flex-wrap:wrap}.table-extra-filters .mini-filter{display:flex;flex-direction:column;gap:.15rem}.table-extra-filters .mini-filter label{font-size:10px;font-weight:700;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.025em}.table-extra-filters .select-sm{height:36px;padding:0 .5rem;font-size:13px;min-width:140px}@media(max-width:1200px){.table-toolbar{flex-direction:column;align-items:stretch;gap:var(--spacing-4);padding:var(--spacing-4)}.table-search-box{max-width:none;min-width:0}.table-extra-filters{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-3)}@media(max-width:480px){.table-extra-filters{grid-template-columns:1fr}}.table-extra-filters .mini-filter{width:100%}.table-extra-filters .select-sm{width:100%;min-width:0}}.table-toolbar-subtle{padding:0!important;border:none!important;background:transparent!important;margin:0!important;border-bottom:none!important}.table-container{width:100%;overflow-x:auto}.table-container::-webkit-scrollbar{height:6px}.table-container::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:10px}.comp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:auto}.comp-table th{padding:var(--spacing-4) var(--spacing-6);background-color:var(--color-gray-100);font-weight:800;color:var(--color-gray-600);text-transform:uppercase;font-size:10px;letter-spacing:.12em;border-bottom:2px solid var(--color-gray-200);white-space:nowrap;transition:background-color .2s}.comp-table th.sortable-header:hover{background-color:var(--color-gray-50)}.th-content{display:flex;align-items:center;gap:.5rem}.sort-indicator{display:inline-flex;align-items:center;color:var(--color-primary-500)}.comp-table td{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);transition:all .1s ease}.comp-table tr:nth-child(2n):not(:hover){background-color:#fafbfc}.comp-table tbody tr:hover{background-color:var(--color-gray-50)!important;box-shadow:inset 4px 0 0 -1px #3b82f6,0 4px 6px -1px #0000000d;cursor:pointer;z-index:1;position:relative}.comp-table tr:hover td{color:var(--color-gray-900)}.table-loading-cell,.table-empty-cell{padding:var(--spacing-12);text-align:center;color:var(--color-gray-500);background-color:var(--color-white)}.table-loader{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-weight:500}.table-footer-pagination{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-gray-100);background-color:var(--color-white);display:flex;justify-content:center;align-items:center}@media(max-width:800px){.table-wrapper-main{background-color:transparent;border:none;box-shadow:none}.table-container{border:none;overflow-x:visible;padding:var(--spacing-4) .5rem}.comp-table,.comp-table thead,.comp-table tbody,.comp-table th,.comp-table td,.comp-table tr{display:block}.comp-table thead{display:none}.comp-table tr{background:var(--color-white);border:1px solid rgba(203,213,225,.6);margin-bottom:1.25rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #00000008;overflow:hidden;position:relative}.comp-table tr:nth-child(2n){background:#fcfdfe}.comp-table tr:after{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(to bottom,var(--color-primary-500),var(--color-primary-600));z-index:10}.comp-table td:first-child{background-color:var(--color-white);padding:.85rem 1rem .85rem 1.25rem!important;border-bottom:1px solid var(--color-gray-100);font-weight:700;font-size:.95rem;color:var(--color-primary-700);display:flex;align-items:center;justify-content:space-between}.comp-table td:first-child:before{display:none}.comp-table tbody tr{display:grid;grid-template-columns:1fr;padding:.75rem .5rem;gap:.5rem}.comp-table td:not(:first-child):not(:last-child){border:none;padding:.5rem 1rem!important;display:flex;flex-direction:column;gap:.1rem}.comp-table td[data-label="Informe Corto"],.comp-table td[data-label=Especificaciones],.comp-table td[data-label=Instructor],.comp-table td[data-label="Nombre del Curso"],.comp-table td[data-label=Notas]{grid-column:1 / -1}.comp-table td:before{content:attr(data-label);font-weight:700;color:var(--color-gray-400);font-size:.6rem;text-transform:uppercase;letter-spacing:.04em}.comp-table td{font-size:.8rem}.comp-table td:last-child{grid-column:1 / -1;margin-top:.5rem;padding:.85rem 1.25rem!important;background-color:var(--color-gray-50);display:flex;justify-content:space-between;align-items:center;gap:1.25rem;border-top:1px dashed var(--color-gray-200)}.comp-table td:last-child[data-label=Acciones]:before{display:none}.comp-table td:last-child:not([data-label=Acciones]){font-weight:800;font-size:1rem;color:var(--color-primary-600)}.comp-table td:last-child:not([data-label=Acciones]):before{display:block;color:var(--color-gray-500);font-size:.65rem}.table-footer-pagination{padding:var(--spacing-4) 0}}.table-extra-filters .btn,.table-extra-filters button{height:42px!important;display:inline-flex!important;align-items:center!important;box-sizing:border-box!important}.comp-alert{padding:var(--spacing-4);border-radius:var(--radius-lg);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-4);border:1px solid transparent}.alert-content-wrapper{display:flex;gap:var(--spacing-3);flex:1}.alert-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.alert-message-container{display:flex;flex-direction:column}.alert-title{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.alert-message{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.alert-close-btn{color:currentColor;opacity:.6;transition:opacity var(--transition-fast);padding:4px;margin-top:-4px;margin-right:-4px}.alert-close-btn:hover{opacity:1}.alert-info{background-color:var(--color-primary-50);color:#1e40af;border-color:#dbeafe}.alert-success{background-color:#ecfdf5;color:#065f46;border-color:#d1fae5}.alert-warning{background-color:#fffbeb;color:#92400e;border-color:#fef3c7}.alert-error{background-color:#fef2f2;color:#991b1b;border-color:#fee2e2}.skeleton{background-color:var(--color-gray-200);position:relative;overflow:hidden}.skeleton-text{height:.8em;margin-bottom:.5em;border-radius:var(--radius-sm);width:100%}.skeleton-rect{border-radius:var(--radius-md)}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-animate:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.divider-container{display:flex;align-items:center;width:100%;margin:var(--spacing-4) 0}.divider-line{flex:1;height:1px;background-color:var(--color-gray-200)}.divider-label{padding:0 var(--spacing-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.user-avatar-premium{display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.user-avatar-premium:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.avatar-initials{z-index:2;letter-spacing:-.02em}.avatar-glass-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff26,#fff0);z-index:1}.avatar-sm{width:28px;height:28px;font-size:11px;border-radius:8px}.avatar-md{width:36px;height:36px;font-size:13px;border-radius:10px}.avatar-lg{width:42px;height:42px;font-size:15px;border-radius:12px}.avatar-xl{width:56px;height:56px;font-size:20px;border-radius:16px}.avatar-glass{background:#fff3!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:var(--color-gray-800)!important}.multi-select-container{display:flex;flex-direction:column;gap:6px;position:relative;width:100%}.multi-select-label{font-size:.75rem;font-weight:700;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-left:4px}.multi-select-wrapper{min-height:42px;padding:4px 8px;background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:10px;display:flex;align-items:center;cursor:text;transition:all .2s cubic-bezier(.4,0,.2,1);gap:8px}.multi-select-wrapper:hover{border-color:#cbd5e0}.multi-select-wrapper.active{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.multi-select-input-area{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-items:center}.select-tag{background:var(--color-primary-50);color:#2563eb;padding:2px 8px;border-radius:6px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:4px;border:1px solid #dbeafe;animation:tagAppear .2s ease-out}@keyframes tagAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tag-remove{background:transparent;border:none;color:#3b82f6;cursor:pointer;display:flex;align-items:center;padding:1px;border-radius:4px;transition:background .15s}.tag-remove:hover{background:#dbeafe}.multi-select-input{border:none;outline:none;background:transparent;min-width:60px;flex:1;height:30px;font-size:.9rem;color:var(--color-gray-800)}.multi-select-input::placeholder{color:var(--color-gray-400)}.multi-select-actions{display:flex;align-items:center;padding-right:4px;color:var(--color-gray-400)}.chevron{transition:transform .2s ease}.chevron.rotate{transform:rotate(180deg)}.multi-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:12px;box-shadow:0 12px 30px -10px #00000026;z-index:100;overflow:hidden;animation:dropdownAppear .2s ease-out}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.options-list{max-height:220px;overflow-y:auto;padding:6px}.option-item{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:8px;transition:all .15s ease;font-size:.9rem;color:var(--color-gray-700);margin-bottom:2px}.option-item:hover{background:var(--color-gray-100);color:#2563eb}.check-icon{color:#2563eb}.no-options{padding:16px;text-align:center;color:var(--color-gray-400);font-size:.85rem;font-style:italic}.options-list::-webkit-scrollbar{width:6px}.options-list::-webkit-scrollbar-track{background:transparent}.options-list::-webkit-scrollbar-thumb{background:var(--color-gray-200);border-radius:10px}.options-list::-webkit-scrollbar-thumb:hover{background:#cbd5e0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,var(--color-primary-50),transparent),radial-gradient(circle at bottom left,var(--color-primary-100),transparent);background-color:var(--color-gray-50);padding:var(--spacing-4)}.login-container{width:100%;max-width:440px;display:flex;flex-direction:column;gap:var(--spacing-8)}.login-brand{text-align:center}.brand-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-4)}.login-logo-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 15px rgba(0,0,0,.1))}.login-brand h1{font-size:var(--font-size-3xl);color:var(--color-gray-900);margin-bottom:var(--spacing-1)}.login-brand p{color:var(--color-gray-500);font-size:var(--font-size-sm)}.login-card{border:none;box-shadow:var(--shadow-xl)}.login-form h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-1);color:var(--color-gray-800)}.login-subtitle{color:var(--color-gray-500);font-size:var(--font-size-sm);margin-bottom:var(--spacing-8)}.login-form .form-group{margin-bottom:var(--spacing-4)}.login-footer{margin-top:var(--spacing-8);text-align:center;font-size:var(--font-size-xs);color:var(--color-gray-400)}.mt-2{margin-top:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.sidebar{height:100vh;background:#fff!important;width:var(--sidebar-width);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.25,.8,.25,1);z-index:2000;position:sticky;top:0;overflow:visible!important;border-right:1px solid rgba(0,0,0,.06)!important;box-shadow:4px 0 24px #00000003}:root[data-theme=dark] .sidebar,.dark-theme .sidebar{background:#0b0f19!important;border-right:1px solid rgba(99,102,241,.15)!important;box-shadow:4px 0 24px #0003}.sidebar.collapsed{width:var(--sidebar-collapsed-width);border-right:none!important;box-shadow:none!important}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .sidebar-nav,.sidebar.collapsed .sidebar-footer{display:none!important;visibility:hidden;opacity:0}.sidebar.collapsed .sidebar-toggle{position:fixed;top:12px;left:12px;right:auto;transform:none;width:28px;height:28px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-gray-300);box-shadow:0 4px 12px #0000001f;display:flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important;z-index:2200}.sidebar-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.04)}:root[data-theme=dark] .sidebar-header,.dark-theme .sidebar-header{border-bottom:1px solid rgba(99,102,241,.12)}.sidebar-logo{display:flex;align-items:center;gap:8px}.logo-box{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.sidebar-logo-img{width:24px;height:24px;object-fit:contain}.logo-text-container{display:flex;flex-direction:column;justify-content:center;line-height:1.15}.logo-text{font-weight:800;font-size:.95rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}:root[data-theme=dark] .logo-text,.dark-theme .logo-text{background:linear-gradient(135deg,#a5b4fc,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo-subtitle{font-size:.58rem;font-weight:700;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sidebar-toggle{position:absolute;top:14px;right:-12px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:var(--color-white);color:var(--color-gray-500);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 10px #0000000d;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;z-index:2100}:root[data-theme=dark] .sidebar-toggle,.dark-theme .sidebar-toggle{background-color:#1e293b;color:#94a3b8;border-color:#6366f14d;box-shadow:0 4px 10px #0000004d}.sidebar-toggle:hover{color:var(--color-primary-500);transform:scale(1.1) rotate(180deg)}@media(max-width:768px){.sidebar-toggle{display:none!important}}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:3px;overflow-y:auto;overflow-x:hidden}.nav-section-label{font-size:.62rem;font-weight:700;color:#94a3b8!important;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 4px 10px;opacity:.8}:root[data-theme=dark] .nav-section-label,.dark-theme .nav-section-label{color:#475569!important}.nav-section-label:first-child{margin-top:4px}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-link{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;color:#475569!important;text-decoration:none;font-size:.82rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;cursor:pointer;position:relative;background:transparent}:root[data-theme=dark] .nav-link,.dark-theme .nav-link{color:#94a3b8!important}.nav-link-content{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0}.nav-link-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word;line-height:1.25;flex:1;text-align:left}.nav-link-content svg{flex-shrink:0;width:16px;height:16px;color:#64748b!important;margin-top:1px;transition:all .2s}:root[data-theme=dark] .nav-link-content svg,.dark-theme .nav-link-content svg{color:#64748b!important}.nav-link:hover{background-color:#6366f10d!important;color:var(--color-primary-600)!important}:root[data-theme=dark] .nav-link:hover,.dark-theme .nav-link:hover{background-color:#6366f114!important;color:#fff!important}.nav-link:hover svg{color:var(--color-primary-500)!important}:root[data-theme=dark] .nav-link:hover svg,.dark-theme .nav-link:hover svg{color:#818cf8!important}.nav-link.active:not(.sub-item):not(.nav-group-toggle){color:var(--color-primary-600)!important;font-weight:600!important;background:#6366f10f!important;box-shadow:0 4px 10px #6366f10d!important}.nav-link.active:not(.sub-item):not(.nav-group-toggle):before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background-color:#4f46e5;border-radius:0 4px 4px 0}:root[data-theme=dark] .nav-link.active:not(.sub-item):not(.nav-group-toggle),.dark-theme .nav-link.active:not(.sub-item):not(.nav-group-toggle){color:#fff!important;background:linear-gradient(135deg,#6366f14d,#a855f74d)!important;box-shadow:0 4px 12px #6366f133!important}:root[data-theme=dark] .nav-link.active:not(.sub-item):not(.nav-group-toggle):before,.dark-theme .nav-link.active:not(.sub-item):not(.nav-group-toggle):before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background-color:#818cf8;border-radius:0 4px 4px 0}.nav-link.active:not(.sub-item):not(.nav-group-toggle) svg{color:#4f46e5!important}:root[data-theme=dark] .nav-link.active:not(.sub-item):not(.nav-group-toggle) svg,.dark-theme .nav-link.active:not(.sub-item):not(.nav-group-toggle) svg{color:#818cf8!important}.nav-link.parent-active{color:var(--color-gray-800);font-weight:600!important}:root[data-theme=dark] .nav-link.parent-active,.dark-theme .nav-link.parent-active{color:#fff!important}.nav-link.parent-active svg{color:var(--color-primary-500)!important}.nav-sub-items{padding-left:20px;margin:2px 0 4px;display:flex;flex-direction:column;gap:2px}.sub-item svg{display:none!important}.sub-item{font-size:.76rem;padding:6px 12px;color:#64748b!important;border-radius:8px;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word;line-height:1.25;transition:all .2s ease;background:transparent;text-align:left}:root[data-theme=dark] .sub-item,.dark-theme .sub-item{color:#94a3b8!important}.sub-item:hover{color:var(--color-primary-600)!important;background-color:#6366f10a!important}:root[data-theme=dark] .sub-item:hover,.dark-theme .sub-item:hover{color:#fff!important;background-color:#6366f114!important}.sub-item.active{color:#4f46e5!important;font-weight:600!important;background-color:#6366f114!important}:root[data-theme=dark] .sub-item.active,.dark-theme .sub-item.active{color:#fff!important;background-color:#6366f133!important}.sidebar-footer{padding:8px;margin-top:auto;border-top:1px solid rgba(0,0,0,.05)}:root[data-theme=dark] .sidebar-footer,.dark-theme .sidebar-footer{border-top:1px solid rgba(99,102,241,.15)}.user-mini-profile{display:flex;align-items:center;gap:8px;padding:6px;border-radius:10px;border:1px solid rgba(0,0,0,.04);background:#00000003;transition:all .2s ease;cursor:pointer}:root[data-theme=dark] .user-mini-profile,.dark-theme .user-mini-profile{border-color:#6366f126;background:#0f172a80}.user-mini-profile:hover{background:#0000000a;border-color:#00000014}:root[data-theme=dark] .user-mini-profile:hover,.dark-theme .user-mini-profile:hover{background:#6366f114;border-color:#6366f14d}.mini-avatar{width:28px;height:28px;border-radius:6px;object-fit:cover}.mini-name{font-size:.78rem;font-weight:600;color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .mini-name,.dark-theme .mini-name{color:#e2e8f0}.mini-role{font-size:.6rem;color:var(--color-gray-400);font-weight:500}:root[data-theme=dark] .mini-role,.dark-theme .mini-role{color:#94a3b8}.user-menu-popover{position:absolute;bottom:60px;left:8px;right:8px;width:calc(var(--sidebar-width) - 16px);background:var(--color-white);border-radius:10px;box-shadow:0 10px 25px #0000001a;border:1px solid var(--color-gray-200);padding:4px;z-index:3000;animation:popoverFadeUp .2s ease-out}:root[data-theme=dark] .user-menu-popover,.dark-theme .user-menu-popover{background:#0f172a;border-color:#1e293b;box-shadow:0 10px 25px #0006}.sidebar.collapsed .user-menu-popover{left:64px;bottom:8px;width:180px}.menu-header{padding:8px 10px}.menu-user-name{display:block;font-size:.8rem;font-weight:600;color:var(--color-gray-900)}:root[data-theme=dark] .menu-user-name,.dark-theme .menu-user-name{color:#fff}.menu-user-email{display:block;font-size:.62rem;color:var(--color-gray-500)}:root[data-theme=dark] .menu-user-email,.dark-theme .menu-user-email{color:#94a3b8}.menu-divider{height:1px;background-color:var(--color-gray-100);margin:4px 0}:root[data-theme=dark] .menu-divider,.dark-theme .menu-divider{background-color:#1e293b}.menu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;color:var(--color-gray-600);font-size:.78rem;font-weight:500;text-decoration:none;transition:all .15s ease;background:transparent;border:none;width:100%;cursor:pointer;text-align:left}:root[data-theme=dark] .menu-item,.dark-theme .menu-item{color:#94a3b8}.menu-item:hover{background-color:#6366f10a;color:var(--color-primary-600)}:root[data-theme=dark] .menu-item:hover,.dark-theme .menu-item:hover{background-color:#6366f114;color:#fff}.menu-item svg{color:var(--color-gray-400);width:14px;height:14px}:root[data-theme=dark] .menu-item svg,.dark-theme .menu-item svg{color:#64748b}.text-danger{color:#ef4444!important}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#6366f11a;border-radius:10px}:root[data-theme=dark] .sidebar-nav::-webkit-scrollbar-thumb,.dark-theme .sidebar-nav::-webkit-scrollbar-thumb{background:#6366f126}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#6366f140}.chevron-icon{transition:transform .2s;color:var(--color-gray-400);width:12px;height:12px}.chevron-icon.rotated{transform:rotate(180deg)}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:20px 0 50px #0000001a;z-index:5000;width:260px}.sidebar.mobile-open{transform:translate(0)}}.main-header{height:var(--header-height);padding:0 var(--spacing-3);background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-index-sticky)}.header-left,.header-center,.header-right{display:flex;align-items:center}.header-left{transition:margin-left .2s ease,padding-left .2s ease}@media(min-width:769px){.main-header.sidebar-collapsed .header-left{margin-left:44px}}.header-logo-desktop-collapsed{display:flex;align-items:center;gap:8px;margin-right:14px;-webkit-user-select:none;user-select:none}.header-logo-desktop-collapsed .logo-box{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.header-logo-desktop-collapsed .logo-text{font-weight:800;font-size:15px;color:var(--color-gray-900);letter-spacing:-.02em;white-space:nowrap}.header-center{justify-content:center}.mobile-only-center{display:none}.company-badge-header{display:flex;align-items:center;gap:12px;padding:6px 12px;background-color:var(--color-gray-50);border-radius:12px;border:1px solid var(--color-gray-200);cursor:pointer;transition:all .2s;position:relative;-webkit-user-select:none;user-select:none}.company-chevron{color:var(--color-gray-400);margin-left:4px}.company-popover{position:absolute;top:calc(100% + 8px);left:0;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-radius:12px;width:280px;padding:8px;z-index:2200;max-height:420px;overflow-y:auto;animation:slideDown .15s ease-out}.popover-title{font-size:11px;font-weight:700;color:var(--color-gray-500);text-transform:uppercase;padding:8px 12px;letter-spacing:.5px}.company-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}.company-item:hover{background-color:var(--color-gray-100)}.company-item.active{background-color:var(--color-primary-50)}.company-item-icon-box{width:36px;height:36px;background-color:var(--color-gray-100);color:var(--color-gray-400);border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-gray-200);transition:all .2s;flex-shrink:0}.status-wrapper{position:relative}.status-popover{position:absolute;top:calc(100% + 12px);right:0;width:200px;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:0 10px 15px -3px #0000001a;border-radius:12px;padding:4px;z-index:2200;animation:slideDown .15s ease-out}.status-item{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;color:var(--color-gray-600);font-weight:500}.status-badge{margin-left:auto;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.notification-wrapper{position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.main-header{height:64px!important;background-color:var(--color-white)!important;padding:0 var(--spacing-4)!important;display:flex!important;justify-content:space-between!important;box-shadow:0 2px 8px #0000000d!important;overflow:visible!important}.header-left,.header-center,.header-right{flex:1!important;display:flex!important;align-items:center!important}.header-left{justify-content:flex-start!important}.header-center{justify-content:center!important}.header-right{justify-content:flex-end!important}.header-left .company-badge-header{display:none!important}.mobile-menu-toggle{display:flex!important;margin:0!important}.mobile-only-center{display:flex!important}.desktop-only,.status-wrapper,.header-divider,.user-label,.user-chevron{display:none!important}.header-user-dropdown{padding:0!important;margin:0!important;background:none!important}.header-avatar{width:38px!important;height:38px!important;border:2px solid #eef2ff!important}}.company-badge-header{display:flex;align-items:center;gap:12px;padding:6px 16px;background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-left:16px}.company-badge-header:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}.company-badge-header.switching{opacity:.7;pointer-events:none}.header-company-info{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.header-company-subinfo{display:flex;align-items:center}.header-company-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-white);color:var(--color-primary-600);border-radius:8px;box-shadow:0 1px 2px #0000000d}.header-company-name{font-size:13px;font-weight:700;color:var(--color-gray-800)}.header-company-tax,.header-company-db-small{font-size:10px;color:var(--color-gray-500);font-weight:500}.header-company-db-small{color:var(--color-primary-600);font-weight:700}.header-action-btn{position:relative;color:var(--color-gray-500);padding:8px;border-radius:8px}.header-action-btn:hover{background-color:var(--color-gray-100);color:#4f46e5}.notif-indicator{position:absolute;top:10px;right:10px;width:8px;height:8px;background-color:#ef4444;border:2px solid var(--color-white);border-radius:50%}.status-wrapper,.notification-wrapper,.company-badge-header,.header-user-dropdown-wrapper{position:relative}.header-user-dropdown{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px 12px;border-radius:8px;transition:background .2s}.user-label{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.user-name{font-size:14px;font-weight:700;color:var(--color-gray-800)}.user-role{font-size:11px;font-weight:500;color:var(--color-gray-500)}.header-user-menu{position:absolute;top:calc(100% + 12px);right:0;width:260px;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:0 10px 15px -3px #0000001a;border-radius:12px;z-index:2200;overflow:hidden;animation:slideDown .15s ease-out;padding:8px}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--color-gray-100);color:var(--color-gray-600);transition:all .2s}.company-selection-modal-list{display:flex;flex-direction:column;gap:12px;padding:8px 0}.modal-description{font-size:14px;color:var(--color-gray-500);margin-bottom:8px}.modal-company-item{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;text-align:left}.modal-company-item:hover{background-color:var(--color-gray-100);border-color:var(--color-primary-300);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}.modal-company-item.active{background-color:var(--color-primary-50);border-color:var(--color-primary-400);border-width:2px}.modal-company-icon{width:48px;height:48px;background-color:var(--color-white);color:var(--color-primary-600);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000d}.modal-company-details{display:flex;flex-direction:column;flex:1}.modal-company-name{font-size:15px;font-weight:700;color:var(--color-gray-900)}.modal-company-tax{font-size:12px;color:var(--color-gray-500)}.active-badge-dot{color:var(--color-primary-600);background:var(--color-white);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.modal-company-item.inactive{opacity:.65;cursor:not-allowed;background-color:var(--color-gray-100);filter:grayscale(.5);pointer-events:none}.modal-company-item.inactive:hover{transform:none;box-shadow:none;border-color:var(--color-gray-200)}.company-meta-row{display:flex;align-items:center;gap:8px;margin-top:4px}.modal-company-status{font-size:10px;font-weight:800;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.modal-company-status.active{background-color:#dcfce7;color:#166534}.modal-company-status.inactive{background-color:var(--color-gray-100);color:var(--color-gray-600)}.modal-company-db{font-size:11px;font-weight:600;color:var(--color-primary-600);background-color:var(--color-primary-50);padding:2px 8px;border-radius:4px;border:1px solid var(--color-primary-100)}.header-logo-mobile{display:flex;align-items:center;gap:10px;margin-left:12px}@media(min-width:1024px){.header-logo-mobile{display:none!important}}.logo-box-mobile{width:34px;height:34px;background-color:var(--color-gray-100);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--color-gray-200)}.logo-img-mobile{width:22px;height:22px;object-fit:contain}.logo-text-wrapper{display:flex;flex-direction:column}.logo-text-mobile{font-size:15px;font-weight:800;color:var(--color-gray-900);letter-spacing:-.02em;line-height:1}.logo-subtitle-mobile{font-size:10px;color:var(--color-gray-400);font-weight:500;letter-spacing:.02em}@media(max-width:768px){.logo-subtitle-mobile{display:block!important;font-size:8px!important;margin-top:-1px}.header-logo-mobile{margin-left:4px;gap:8px}.header-company-info,.company-chevron{display:none!important}.company-badge-header{background:none!important;border:none!important;padding:4px!important}}.header-user-menu{position:absolute;top:calc(100% + 12px);right:0;width:310px;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-radius:16px;z-index:2200;overflow:hidden;animation:slideDown .2s ease-out;padding:0}.user-menu-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100)}.menu-avatar-large{border:2px solid var(--color-white);box-shadow:0 2px 4px #0000000d}.menu-user-details{display:flex;flex-direction:column}.menu-name{font-size:15px;font-weight:700;color:var(--color-gray-800);line-height:1.2;margin-bottom:2px}.menu-email{font-size:12px;color:var(--color-gray-500);word-break:break-all;white-space:normal;line-height:1.3}.menu-actions{padding:8px;display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--color-gray-600);font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.menu-item:hover{background:var(--color-gray-100);color:var(--color-primary-600)}.menu-item-icon{width:28px;height:28px;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);transition:all .2s}.menu-item:hover .menu-item-icon{border-color:var(--color-primary-200);color:var(--color-primary-600);background:var(--color-primary-50)}.menu-item.text-danger:hover{background:#fff1f2;color:#ef4444}.menu-item.text-danger:hover .menu-item-icon{border-color:#fecaca;color:#ef4444;background:var(--color-white)}.menu-divider{height:1px;background:var(--color-gray-100);margin:4px 8px}@media(max-width:768px){.header-user-menu{top:60px;right:8px;width:calc(100vw - 16px);max-width:320px}}@media(max-width:600px){.notifications-popover{position:fixed!important;top:64px!important;right:8px!important;left:8px!important;width:auto!important;max-width:none!important;margin:0!important;box-shadow:0 10px 40px #00000026!important;border:1px solid #eef2ff!important;z-index:3000}.header-right{gap:8px!important}}.notifications-popover{position:absolute;top:calc(100% + 12px);right:-10px;width:380px;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-radius:20px;z-index:2200;overflow:hidden;animation:slideDown .2s ease-out;display:flex;flex-direction:column}.notif-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-gray-100);background:var(--color-white)}.notif-header-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:var(--color-gray-800)}.notif-count-badge{background:var(--color-primary-50);color:var(--color-primary-600);padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700}.mark-all-btn{font-size:12px;font-weight:600;color:var(--color-primary-600);background:none;border:none;cursor:pointer;transition:color .2s}.mark-all-btn:hover{color:var(--color-primary-700);text-decoration:underline}.notif-list{max-height:400px;overflow-y:auto;padding:8px}.notif-item{display:flex;gap:16px;padding:14px;border-radius:14px;cursor:pointer;transition:all .2s;position:relative;margin-bottom:4px}.notif-item:hover{background-color:var(--color-gray-50)}.notif-item.unread{background-color:var(--color-primary-50)}.notif-item.unread:hover{background-color:#e0f2fe}.notif-icon-box{width:42px;height:42px;border-radius:12px;background:var(--color-white);border:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-gray-400);transition:all .2s}.notif-item.unread .notif-icon-box{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white);box-shadow:0 4px 10px #4f46e533}.notif-content{display:flex;flex-direction:column;gap:4px;flex:1}.notif-title-row{display:flex;justify-content:space-between;align-items:center}.notif-title{font-size:14px;font-weight:700;color:var(--color-gray-800)}.notif-time{font-size:11px;color:var(--color-gray-400);font-weight:500}.notif-message{font-size:13px;color:var(--color-gray-500);line-height:1.4}.unread-dot{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:8px;height:8px;background-color:var(--color-primary-600);border-radius:50%;box-shadow:0 0 0 4px #4f46e51a}.notif-empty-state{padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;color:var(--color-gray-400)}.empty-notif-icon{opacity:.3}.notif-footer-btn{width:100%;padding:16px;background:var(--color-gray-50);border:none;border-top:1px solid var(--color-gray-100);font-size:13px;font-weight:700;color:var(--color-gray-600);cursor:pointer;transition:all .2s}.notif-footer-btn:hover{background:var(--color-gray-100);color:var(--color-primary-600)}@media(max-width:600px){.notifications-popover{position:fixed!important;top:80px!important;left:12px!important;right:12px!important;width:calc(100vw - 24px)!important;max-width:none!important;border-radius:20px!important;max-height:70vh!important}}.notif-actions-inline{display:flex;align-items:center;gap:8px}.notif-action-check{width:24px;height:24px;border-radius:6px;background:var(--color-white);border:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);cursor:pointer;transition:all .2s;opacity:0;transform:translate(5px)}.notif-item:hover .notif-action-check{opacity:1;transform:translate(0)}.notif-action-check:hover{background:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-600);box-shadow:0 2px 4px #0000000d}.notif-item.unread:hover .unread-dot{opacity:.5}.notification-toast-overlay{position:fixed;bottom:20px;left:20px;z-index:9999;animation:toastSlideInLeft .4s cubic-bezier(.175,.885,.32,1.275);max-width:400px;width:calc(100vw - 40px)}.toast-content{display:flex;gap:16px;padding:16px;background:var(--color-white);border-radius:16px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;border:1px solid var(--color-gray-200);cursor:pointer;transition:transform .2s;position:relative;text-align:left}.toast-content:hover{transform:scale(1.02)}.toast-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-info .toast-icon{background:var(--color-primary-50);color:#3b82f6}.toast-success .toast-icon{background:#f0fdf4;color:#10b981}.toast-warning .toast-icon{background:#fffbeb;color:#f59e0b}.toast-error .toast-icon{background:#fef2f2;color:#ef4444}.toast-body{flex:1;display:flex;flex-direction:column;gap:4px}.toast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.toast-header strong{font-size:15px;color:var(--color-gray-800)}.toast-tag{font-size:10px;font-weight:800;text-transform:uppercase;background:var(--color-gray-100);color:var(--color-gray-500);padding:2px 6px;border-radius:4px}.toast-body p{font-size:13px;color:var(--color-gray-500);margin:0;line-height:1.4}.toast-close{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center}.toast-close:hover{background:var(--color-gray-100);color:var(--color-gray-800)}@keyframes toastSlideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:600px){.notification-toast-overlay{bottom:10px;right:10px;left:10px;width:auto}}.main-layout{display:flex;min-height:100vh;background-color:var(--color-gray-50)}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.main-content{flex:1;padding:var(--spacing-3);overflow-y:auto}.page-container-inner{width:100%}.mobile-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.main-content{padding:var(--spacing-4)}}:root{--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-primary-950: #1e1b4b;--color-accent-500: #0ea5e9;--color-accent-600: #0284c7;--color-white: #ffffff;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-black: #020617;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .9rem;--font-size-lg: 1rem;--font-size-xl: 1.1rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--spacing-1: 3px;--spacing-2: 6px;--spacing-3: 9px;--spacing-4: 12px;--spacing-6: 18px;--spacing-8: 22px;--spacing-10: 28px;--spacing-12: 34px;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--header-height: 50px;--sidebar-width: 220px;--sidebar-collapsed-width: 0px;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal: 20000;--z-index-popover: 20100;--z-index-tooltip: 20200}:root[data-theme=dark]{--color-primary-50: #1b1e1c;--color-primary-100: #242926;--color-primary-200: #333935;--color-primary-300: #424a45;--color-primary-400: #58635b;--color-primary-500: #7b8a80;--color-primary-600: #8c9b91;--color-primary-700: #a2b0a7;--color-primary-800: #bac5be;--color-primary-900: #d6ded8;--color-primary-950: #f1f4f2;--color-accent-500: #5b7a69;--color-accent-600: #6b8f7b;--color-white: #17181a;--color-gray-50: #1c1d1f;--color-gray-100: #232528;--color-gray-200: #2a2c30;--color-gray-300: #383a40;--color-gray-400: #545760;--color-gray-500: #717580;--color-gray-600: #9397a1;--color-gray-700: #b4b8bf;--color-gray-800: #d4d6db;--color-gray-900: #f2f3f5;--color-black: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:13px!important}html,body{height:100%;width:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-gray-900);background-color:var(--color-gray-50);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}a{color:var(--color-primary-600);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-primary-700)}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-column{flex-direction:column}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-6);border:1px solid var(--color-gray-200)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.ml-2{margin-left:.5rem}.mb-6{margin-bottom:1.5rem}.v-stack{display:flex!important;flex-direction:column!important;gap:.375rem!important}.v-stack-lg{display:flex!important;flex-direction:column!important;gap:1.5rem!important}.v-stack-sm{display:flex!important;flex-direction:column!important;gap:.25rem!important}.v-stack-compact{display:flex!important;flex-direction:column!important;gap:.125rem!important}.data-primary{font-size:.875rem!important;font-weight:700!important;color:var(--color-gray-800)!important;line-height:1.25!important;display:block}.data-secondary{display:inline-flex!important;align-items:center!important;gap:.375rem!important;font-size:.625rem!important;font-weight:700!important;color:var(--color-gray-400)!important;background-color:var(--color-gray-50)!important;padding:.125rem .5rem!important;border-radius:4px!important;border:1px solid var(--color-gray-200)!important;text-transform:uppercase!important;letter-spacing:.025em!important;width:fit-content}.data-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;color:#6366f1!important;background-color:var(--color-primary-50)!important;border-color:#ddd6fe!important}.data-accent{background-color:#ecfdf5!important;color:#059669!important;border-color:#d1fae5!important}.badge-container{width:fit-content!important;display:block!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.max-w-200{max-width:200px!important}.max-w-250{max-width:250px!important}.py-1{padding-top:.25rem;padding-bottom:.25rem}.self-start{align-self:flex-start!important}.italic{font-style:italic!important}.input-container,.select-container,.datepicker-container,.mini-filter{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;height:100%!important}.input-wrapper,.select-wrapper-custom,.datepicker-input-wrapper,.table-search-box{margin-top:auto!important;height:36px!important;min-height:36px!important;max-height:36px!important}.input-label,.select-label,.datepicker-label,.mini-filter label{margin-bottom:4px!important;font-size:12px!important;font-weight:600!important;color:var(--color-gray-700)!important;line-height:1.2!important}
