:root{--primary-color: #667eea;--primary-dark: #764ba2;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--border-color: #e9ecef;--border-radius: 8px;--box-shadow: 0 2px 12px rgba(0, 0, 0, .08);--box-shadow-hover: 0 4px 20px rgba(0, 0, 0, .12);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}.app-card{border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;transition:var(--transition);background:#fff}.app-card:hover{box-shadow:var(--box-shadow-hover)}.app-card-header{background-color:#667eea;color:#fff;padding:1.5rem;border:1px solid rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.app-card-header h4,.app-card-header h5{color:#fff;margin:0;display:flex;align-items:center;gap:.5rem}.app-card-header-subtitle{color:#ffffffd9;font-size:.9rem;margin:.5rem 0 0}.app-card-body{padding:2rem}.app-card-footer{background:#f8f9fa;padding:1.5rem;border-top:1px solid var(--border-color)}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section-title{font-size:1rem;font-weight:600;color:var(--dark-color);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-color);display:flex;align-items:center;gap:.5rem}.form-group{margin-bottom:1.5rem}.form-label{font-weight:500;color:var(--dark-color);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.form-label .text-danger{font-weight:700}.form-control,.form-select{border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;font-size:.95rem;transition:var(--transition);background-color:#fff}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #667eea40}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--danger-color)}.form-control.is-invalid:focus,.form-select.is-invalid:focus{box-shadow:0 0 0 .2rem #dc354540}.invalid-feedback{display:block;color:var(--danger-color);font-size:.875rem;margin-top:.25rem}.form-text{font-size:.85rem;color:#6c757d;margin-top:.25rem;display:block}.input-group{display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group .form-control,.input-group .form-select{flex:1 1 auto;width:1%;min-width:0}.input-group-text,.input-group-btn{display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border:1px solid var(--border-color);padding:.75rem 1rem;cursor:pointer;transition:var(--transition);white-space:nowrap}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.select2-container{flex:1 1 auto;width:1%!important}.input-group>.select2-container .select2-selection--single{height:100%!important;display:flex;align-items:center;border-color:var(--border-color)}.input-group-merge>.select2-container .select2-selection{border-left:0!important;padding-left:0!important}.input-group-merge>.input-group-text{border-right:0!important;padding-right:.5rem!important}.input-group-text:hover,.input-group-btn:hover{background-color:#e9ecef;color:var(--primary-color)}.input-group .btn{background:none;border:1px solid var(--border-color);color:#6c757d;padding:.75rem 1rem;border-radius:0 6px 6px 0}.input-group .btn:hover{background-color:#f8f9fa;color:var(--primary-color)}.btn{border-radius:6px;font-weight:500;padding:.625rem 1rem;font-size:.95rem;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;border:none}.btn i{font-size:1rem}.btn:active{transform:translateY(2px) scale(.98)!important;box-shadow:inset 0 3px 5px #00000020!important;transition:transform .1s ease}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268;transform:translateY(-2px)}.btn-outline-secondary{background-color:transparent;color:var(--secondary-color);border:1.5px solid var(--secondary-color)}.btn-outline-secondary:hover{background-color:var(--secondary-color);color:#fff;border-color:var(--secondary-color)}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-warning{background-color:var(--warning-color);color:var(--dark-color)}.btn-info{background-color:var(--info-color);color:#fff}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-group-form{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.modal-backdrop.show{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:#00000073!important}.modal-content{border:none;border-radius:12px;box-shadow:0 10px 30px #00000026}.modal-header{border-bottom:1px solid rgba(0,0,0,.05)}.modal-footer{border-top:1px solid rgba(0,0,0,.05)}.alert{border-radius:var(--border-radius);border:none;padding:1rem 1.5rem}.alert-success{background-color:#d4edda;color:#155724;border-left:4px solid var(--success-color)}.alert-danger{background-color:#f8d7da;color:#721c24;border-left:4px solid var(--danger-color)}.alert-warning{background-color:#fff3cd;color:#856404;border-left:4px solid var(--warning-color)}.alert-info{background-color:#d1ecf1;color:#0c5460;border-left:4px solid var(--info-color)}.alert-heading{font-weight:600;margin-bottom:.5rem}.breadcrumb{background:transparent;padding:0;margin-bottom:1.5rem;border-radius:0}.breadcrumb-item{color:#6c757d;font-size:.9rem}.breadcrumb-item a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}.breadcrumb-item a:hover{color:var(--primary-dark);text-decoration:underline}.breadcrumb-item.active{color:var(--dark-color);font-weight:500}.badge{border-radius:4px;padding:.35rem .65rem;font-size:.75rem;font-weight:500}.badge-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.badge-success{background-color:var(--success-color);color:#fff}.badge-danger{background-color:var(--danger-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:var(--dark-color)}.badge-info{background-color:var(--info-color);color:#fff}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.dataTables_wrapper{padding:1rem}.dataTables_header{padding:1rem;background:#f8f9fa;border-bottom:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.dataTables_filter{flex:1;min-width:250px}.dataTables_filter input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem}.dataTables_length{display:flex;align-items:center;gap:.5rem}.dataTables_length select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem}.dt-container .dt-paging{padding:1rem 0;text-align:center}.dt-paging .dt-paging-button{padding:.5rem .75rem;margin:0 .25rem;border:1px solid var(--border-color);border-radius:4px;background:#fff;color:var(--dark-color);cursor:pointer;transition:var(--transition);font-weight:500;font-size:.9rem}.dt-paging .dt-paging-button:hover:not(.disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.dt-paging .dt-paging-button.current{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.dt-paging .dt-paging-button.disabled{opacity:.5;cursor:not-allowed}table.dataTable{border-collapse:collapse;width:100%}table.dataTable thead th{background-color:#f8f9fa;color:var(--dark-color);font-weight:600;padding:1rem;border:none;border-bottom:2px solid var(--border-color);text-align:left;font-size:.95rem}table.dataTable tbody td{padding:1rem;border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}table.dataTable tbody tr{transition:var(--transition)}table.dataTable tbody tr:hover{background-color:#667eea08}table.dataTable tbody tr.selected{background-color:#667eea1a}.dt-column-filter{padding:.5rem 0!important}.dt-column-filter input,.dt-column-filter select{width:100%;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;transition:var(--transition)}.dt-column-filter input:focus,.dt-column-filter select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .15rem #667eea1a;outline:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;text-transform:uppercase;background-color:var(--light-color);color:#212529;box-shadow:0 0 0 1px #0000000a}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-md{width:48px;height:48px;font-size:.9rem}.avatar-lg{width:64px;height:64px;font-size:1.1rem}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.form-check{padding:.5rem 0;margin-bottom:.75rem}.form-check-input{width:1.25rem;height:1.25rem;margin-right:.75rem;cursor:pointer;accent-color:var(--primary-color)}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-check-label{cursor:pointer;-webkit-user-select:none;user-select:none}.form-switch .form-check-input{width:2.5rem;height:1.5rem;border-radius:1.5rem;background-color:#ccc;position:relative}.form-switch .form-check-input:checked{background-color:var(--success-color)}.divider{height:1px;background:linear-gradient(to right,transparent,var(--border-color),transparent);margin:1.5rem 0}.gap-form{gap:1.5rem}.gap-buttons{gap:.75rem}.page-wrapper{padding:2rem;background-color:#f8f9fa;min-height:100vh}.page-content{max-width:100%}@media (max-width: 768px){.app-card-header{flex-direction:column;align-items:flex-start}.app-card-body{padding:1.5rem}.btn-group-form{width:100%}.btn-group-form .btn{flex:1}.form-section-title{font-size:.95rem}.dataTables_header{flex-direction:column;align-items:stretch}.dataTables_filter{min-width:100%}table.dataTable tbody td,table.dataTable thead th{padding:.75rem .5rem;font-size:.85rem}}@media (max-width: 576px){.page-wrapper,.app-card-body{padding:1rem}.form-group{margin-bottom:1rem}.btn{padding:.5rem .75rem;font-size:.85rem}}:root{--layout-menu-width: 290px}@media (min-width: 1200px){.layout-menu-fixed .layout-menu,.layout-menu-fixed-offcanvas .layout-menu,.layout-static .layout-menu,.menu-vertical,.menu-vertical .menu-inner,.menu-vertical .menu-item,.menu-vertical .menu-inner>.menu-item,.menu-vertical .menu-inner>.menu-header,.menu-vertical .menu-block{width:var(--layout-menu-width)!important}.layout-wrapper:not(.layout-horizontal) .layout-page{padding-left:var(--layout-menu-width)!important}.layout-navbar-fixed .layout-navbar{width:calc(100% - var(--layout-menu-width) - (1.5rem * 2))!important;left:calc(var(--layout-menu-width) + 1.5rem)!important}.app-brand .layout-menu-toggle{left:calc(var(--layout-menu-width) - 1.15rem)!important}}.menu-vertical .menu-inner>.menu-item{margin:1px 0!important}.menu-vertical .menu-item.active:before{right:0!important;height:2rem!important}.menu-vertical .menu-item .menu-link{display:flex!important;width:auto!important;min-height:2rem!important;padding:.25rem .5rem .25rem 1rem!important;margin-left:.5rem!important;margin-right:.5rem!important}.menu-vertical .menu-item .menu-link>i{margin-right:.65rem!important;font-size:1.15rem!important}.menu-vertical .menu-item .menu-link>div:not(.badge){white-space:normal!important;line-height:1.2;font-size:.85rem;overflow:visible!important;text-overflow:clip!important}.menu-vertical .menu-sub>.menu-item>.menu-link{padding-left:2.5rem!important;position:relative}.menu-vertical .menu-sub>.menu-item>.menu-link:before{left:1.2rem!important}.menu-vertical .menu-sub .menu-sub .menu-link{padding-left:1.8rem!important;font-size:.82rem!important}.menu-vertical .menu-sub .menu-sub .menu-link:before{display:none!important}.menu-vertical .menu-sub .menu-sub .menu-link div:before{content:"—";margin-right:10px;opacity:.5}.menu-vertical .menu-item.active>.menu-link{background-color:#696cff!important}.menu-vertical .menu-item.active>.menu-link,.menu-vertical .menu-item.active>.menu-link *{color:#fff!important;opacity:1!important}.menu-vertical .menu-item .menu-link{transition:background-color .2s,color .2s}.menu-header{margin-top:.75rem!important;margin-bottom:.25rem!important;padding-left:1.25rem!important}.menu-header-text{font-size:.75rem!important;letter-spacing:1px;color:#fff!important;font-weight:700!important}.kpi-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem;box-shadow:var(--box-shadow);transition:var(--transition);height:100%;display:flex;flex-direction:column;justify-content:center}.kpi-card:hover{transform:translateY(-3px);box-shadow:var(--box-shadow-hover);border-color:var(--primary-color)}.kpi-card .kpi-title{font-size:.8rem;font-weight:600;color:var(--secondary-color);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px}.kpi-card .kpi-value{font-size:1.35rem;font-weight:700;color:var(--dark-color);margin-bottom:0}.kpi-card .avatar{margin-bottom:.75rem}.col-sm-6>.kpi-card-inner-flex,.col-md-3>.kpi-card-inner-flex,.col-lg-3>.kpi-card-inner-flex{display:flex;align-items:flex-start;gap:.75rem}[class*=col-]>.kpi-card-inner-flex~h4,[class*=col-]>.kpi-card-inner-flex~h5{font-size:1.25rem;font-weight:700;margin-top:.25rem}.row.g-3>[class*=col-]:has(.kpi-card-inner-flex){background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem;box-shadow:var(--box-shadow);margin:.25rem}.app-card-body .form-check.form-switch:not(.custom-option-basic){margin-left:3rem;padding-left:1.5rem;margin-bottom:1.25rem;transition:var(--transition)}.app-card-body .form-check.form-switch:not(.custom-option-basic) .form-check-input{margin-left:-3rem;width:2.4rem;height:1.35rem}.app-card-body .form-check.form-switch:not(.custom-option-basic) .form-check-label{padding-top:.15rem;cursor:pointer}.app-card-body .form-check.form-switch:hover{background-color:#00000005;border-radius:4px}
