*{margin:0;padding:0;box-sizing:border-box;font-family:Sora,sans-serif}body{font-family:Sora,sans-serif;background-color:#f8fafc;color:#334155;line-height:1.6}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#e8ebe4;border-radius:6px}::-webkit-scrollbar-thumb{background:#5b6647;border-radius:6px;border:2px solid #e8ebe4}::-webkit-scrollbar-thumb:hover{background:#4a5339}::-webkit-scrollbar-thumb:active{background:#3a4329}*{scrollbar-width:thin;scrollbar-color:#5b6647 #e8ebe4}input,button,textarea,select,option{font-family:Sora,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background-color:#5b6647;color:#fff}.btn.btn-primary:hover:not(:disabled){background-color:#4a5339}.btn.btn-secondary{background-color:#e2e8f0;color:#475569}.btn.btn-secondary:hover:not(:disabled){background-color:#cbd5e1}.btn.btn-outline{background-color:transparent;border:1px solid #d1d5db;color:#374151}.btn.btn-outline:hover:not(:disabled){background-color:#f9fafb}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#5b6647;box-shadow:0 0 0 3px #5b66471a}.form-group input.error{border-color:#ef4444}.form-group .error-message{color:#ef4444;font-size:.75rem;margin-top:.25rem}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem}.page-content{flex:1;padding:0 1.5rem 1rem;overflow-y:auto;background-color:#f8fafc}.page-content .content-wrapper{max-width:1400px;margin:0 auto}.page-header{margin-bottom:1rem;min-height:72px;display:flex;align-items:center}.page-header .header-title-section .title-with-icon{display:flex;align-items:center;gap:.75rem}.page-header .header-title-section .title-with-icon .header-icon{font-size:1.5rem;color:#5a6949;flex-shrink:0}.page-header .header-title-section .title-with-icon>div{flex:1;min-width:0}.page-header .header-title-section .title-with-icon h1{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .125rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header .header-title-section .title-with-icon p{color:#64748b;font-size:.8125rem;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-content,.courses-content,[class$=-content]{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden}.users-actions,.courses-actions,[class$=-actions]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;gap:.75rem;flex-wrap:wrap}.users-actions .left-actions,.courses-actions .left-actions,[class$=-actions] .left-actions{display:flex;align-items:center;gap:.75rem;flex:1}.users-actions .right-actions,.courses-actions .right-actions,[class$=-actions] .right-actions{display:flex;align-items:center;gap:.5rem}.users-actions .search-box,.courses-actions .search-box,[class$=-actions] .search-box{position:relative;width:100%;max-width:320px}.users-actions .search-box .fa-search,.courses-actions .search-box .fa-search,[class$=-actions] .search-box .fa-search{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.8125rem}.users-actions .search-box .search-input,.courses-actions .search-box .search-input,[class$=-actions] .search-box .search-input{width:100%;padding:.5rem 2rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.8125rem;transition:all .2s ease}.users-actions .search-box .search-input:focus,.courses-actions .search-box .search-input:focus,[class$=-actions] .search-box .search-input:focus{outline:none;border-color:#5a6949;box-shadow:0 0 0 3px #5a69491a}.users-actions .search-box .search-input::placeholder,.courses-actions .search-box .search-input::placeholder,[class$=-actions] .search-box .search-input::placeholder{color:#9ca3af}.users-actions .search-box .clear-search-btn,.courses-actions .search-box .clear-search-btn,[class$=-actions] .search-box .clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s ease}.users-actions .search-box .clear-search-btn:hover,.courses-actions .search-box .clear-search-btn:hover,[class$=-actions] .search-box .clear-search-btn:hover{background:#f1f5f9;color:#475569}.users-actions .search-box .clear-search-btn i,.courses-actions .search-box .clear-search-btn i,[class$=-actions] .search-box .clear-search-btn i{font-size:.75rem}.export-dropdown{position:relative}.export-dropdown .dropdown-icon{font-size:.75rem;margin-left:.25rem}.export-dropdown .dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:200px;z-index:1000;display:none;overflow:hidden}.export-dropdown .dropdown-menu.show{display:block}.export-dropdown .dropdown-menu .dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#334155;text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s ease;font-size:.875rem}.export-dropdown .dropdown-menu .dropdown-item:hover{background:#f8fafc}.export-dropdown .dropdown-menu .dropdown-item i{font-size:.875rem;width:16px;text-align:center;color:#64748b}.table-section .loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem}.table-section .loading-container .spinner{width:3rem;height:3rem;border:4px solid #e2e8f0;border-top-color:#5a6949;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.table-section .loading-container p{color:#64748b;font-size:.875rem;margin:0}.table-section .error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;text-align:center}.table-section .error-container i{font-size:3rem;color:#dc2626;margin-bottom:1rem}.table-section .error-container p{color:#475569;font-size:1rem;margin:0}.table-section .empty-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;text-align:center}.table-section .empty-container i{font-size:3rem;color:#9ca3af;margin-bottom:1rem}.table-section .empty-container p{color:#64748b;font-size:1rem;margin:0}.table-section .table-wrapper{position:relative;width:100%;overflow:hidden;border-radius:.5rem}.table-section .table-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(to left,rgba(248,250,252,.9),transparent);pointer-events:none;z-index:5;opacity:0;transition:opacity .3s ease}.table-section .table-wrapper:hover:after{opacity:1}.table-section .table-header{overflow-x:auto;overflow-y:hidden;border-bottom:2px solid #e2e8f0;width:100%;position:relative;scrollbar-width:none;-ms-overflow-style:none}.table-section .table-header::-webkit-scrollbar{display:none}.table-section .table-header table{margin-bottom:0}.table-section .table-body-container{max-height:calc(100vh - 272px - 1rem);min-height:300px;overflow-x:auto;overflow-y:auto;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9ca3af #f1f5f9}.table-section .table-body-container::-webkit-scrollbar{width:8px;height:8px}.table-section .table-body-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-section .table-body-container::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.table-section .table-body-container::-webkit-scrollbar-thumb:hover{background:#64748b}table.users-table,table.courses-table,table[class$=-table]{width:100%;min-width:1000px;border-collapse:collapse;table-layout:fixed}table.users-table thead,table.courses-table thead,table[class$=-table] thead{background:#f8fafc}table.users-table thead th,table.courses-table thead th,table[class$=-table] thead th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:#334155;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc}table.users-table thead th.sortable,table.courses-table thead th.sortable,table[class$=-table] thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}table.users-table thead th.sortable:hover,table.courses-table thead th.sortable:hover,table[class$=-table] thead th.sortable:hover{background:#f1f5f9}table.users-table thead th.sortable i,table.courses-table thead th.sortable i,table[class$=-table] thead th.sortable i{margin-left:.5rem;font-size:.625rem;color:#9ca3af}table.users-table tbody tr,table.courses-table tbody tr,table[class$=-table] tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s ease}table.users-table tbody tr:hover,table.courses-table tbody tr:hover,table[class$=-table] tbody tr:hover{background:#f8fafc}table.users-table tbody tr:last-child,table.courses-table tbody tr:last-child,table[class$=-table] tbody tr:last-child{border-bottom:none}table.users-table tbody td,table.courses-table tbody td,table[class$=-table] tbody td{padding:1rem 1.25rem;font-size:.875rem;color:#334155;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:.5rem;align-items:center}.action-buttons .btn-icon{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-buttons .btn-icon:disabled{opacity:.4;cursor:not-allowed}.action-buttons .btn-icon i{font-size:.875rem}.action-buttons .btn-icon.btn-edit{color:#4a5339}.action-buttons .btn-icon.btn-edit:hover:not(:disabled){background:#dbeafe;color:#1e40af}.action-buttons .btn-icon.btn-reset{color:#64748b}.action-buttons .btn-icon.btn-reset:hover:not(:disabled){background:#fef3c7;color:#92400e}.action-buttons .btn-icon.btn-delete{color:#64748b}.action-buttons .btn-icon.btn-delete:hover:not(:disabled){background:#fee2e2;color:#dc2626}.pagination-wrapper{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid #e2e8f0;background:#fff;flex-wrap:wrap;gap:.75rem}.pagination-wrapper .pagination-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pagination-wrapper .page-size-selector{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#475569}.pagination-wrapper .page-size-selector label{margin:0;font-weight:500}.pagination-wrapper .page-size-selector .page-size-select{padding:.375rem 1.75rem .375rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.8125rem;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .375rem center;background-size:10px;appearance:none;cursor:pointer;transition:all .2s ease}.pagination-wrapper .page-size-selector .page-size-select:focus{outline:none;border-color:#5a6949;box-shadow:0 0 0 2px #5a69491a}.pagination-wrapper .page-size-selector .page-size-select:hover{border-color:#9ca3af}.pagination-wrapper .page-size-selector span{white-space:nowrap}.pagination-wrapper .pagination-info{color:#475569;font-size:.8125rem;white-space:nowrap}.pagination-wrapper .pagination-controls{display:flex;align-items:center;gap:.375rem}.pagination-wrapper .pagination-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid #d1d5db;background:#fff;color:#334155;border-radius:.25rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-wrapper .pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#9ca3af}.pagination-wrapper .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-wrapper .pagination-btn i{font-size:.6875rem}.pagination-wrapper .page-numbers{display:flex;gap:.25rem}.pagination-wrapper .page-btn{min-width:2rem;height:2rem;padding:.375rem;border:1px solid #d1d5db;background:#fff;color:#334155;border-radius:.25rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-wrapper .page-btn:hover:not(:disabled):not(.active){background:#f8fafc;border-color:#9ca3af}.pagination-wrapper .page-btn.active{background:#5a6949;color:#fff;border-color:#5a6949}.pagination-wrapper .page-btn:disabled{cursor:default;border:none;background:none;color:#9ca3af}.pagination-wrapper .page-btn:disabled:hover{background:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 1441px){.table-body-container{max-height:calc(100vh - 252px - 1rem)}}@media (min-width: 1025px) and (max-width: 1440px){.table-body-container{max-height:calc(100vh - 272px - 1rem)}}@media (max-width: 1024px){.page-header{margin-bottom:.75rem;padding:1.25rem 0 0;min-height:64px}.page-header .header-title-section .title-with-icon{gap:.625rem}.page-header .header-title-section .title-with-icon .header-icon{font-size:1.375rem}.page-header .header-title-section .title-with-icon h1{font-size:1.125rem}.page-header .header-title-section .title-with-icon p{font-size:.75rem}.table-body-container{max-height:calc(100vh - 254px - .75rem);min-height:250px}}@media (max-width: 768px){.container{padding:0 .5rem}.btn{padding:.625rem 1.25rem;font-size:.8125rem}.page-content{padding:0 1rem .75rem}.page-header{margin-bottom:.625rem;padding:1rem 0 0;min-height:56px}.page-header .header-title-section .title-with-icon{gap:.5rem}.page-header .header-title-section .title-with-icon .header-icon{font-size:1.125rem}.page-header .header-title-section .title-with-icon h1{font-size:1rem;font-weight:600}.page-header .header-title-section .title-with-icon p{font-size:.6875rem}.users-actions,.courses-actions,[class$=-actions]{padding:.625rem .75rem;flex-direction:column;align-items:stretch}.users-actions .left-actions,.courses-actions .left-actions,[class$=-actions] .left-actions{width:100%}.users-actions .right-actions,.courses-actions .right-actions,[class$=-actions] .right-actions{width:100%;justify-content:space-between;gap:.375rem}.users-actions .search-box,.courses-actions .search-box,[class$=-actions] .search-box{max-width:100%}.users-actions .search-box .search-input,.courses-actions .search-box .search-input,[class$=-actions] .search-box .search-input{padding:.5rem 2rem;font-size:.8125rem}.table-body-container{max-height:calc(100vh - 296px - .625rem);min-height:200px;-webkit-overflow-scrolling:touch}.pagination-wrapper{padding:.75rem;flex-direction:column;align-items:stretch;gap:.75rem}.pagination-wrapper .pagination-left,.pagination-wrapper .pagination-controls{justify-content:center}}@media (max-width: 480px){.page-header .header-title-section .title-with-icon .header-icon{font-size:1rem}.page-header .header-title-section .title-with-icon h1{font-size:.9375rem}.page-header .header-title-section .title-with-icon p{font-size:.625rem}.page-size-selector .page-size-select{padding:.375rem 1.5rem .375rem .5rem}}
