body,html{margin:0;padding:0;width:100%}body,html{overflow-x:hidden}body{min-height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto}*{touch-action:manipulation}html{scroll-behavior:smooth}:root{--vh:1vh}.compact-category-slider,.floating-buttons-container,.header-navbar{will-change:transform}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--font-color)}.navbar .navbar-nav .nav-link,a{color:var(--link-color)!important;text-decoration:none!important}.navbar .navbar-nav .nav-link:active,.navbar .navbar-nav .nav-link:focus,.navbar .navbar-nav .nav-link:hover,a:active,a:focus,a:hover{color:var(--link-hover)!important;text-decoration:none!important;outline:none;box-shadow:none}.btn{border-radius:10px;color:var(--white-color);font-weight:600;text-transform:none;box-shadow:0 3px 5px rgba(0,0,0,.3);border-color:var(--border-color)}.btn:active,.btn:focus{outline:none;box-shadow:none}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-border);color:var(--primary-text)}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-text)}.btn-secondary{background-color:var(--secondary-color);border-color:var(--secondary-border);color:var(--secondary-text)}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:var(--secondary-hover);border-color:var(--secondary-hover);color:var(--secondary-text)}.btn-outline-primary{color:var(--primary-color);border-color:var(--primary-border);background-color:transparent}.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-border);color:var(--primary-text)}.btn-outline-secondary{color:var(--secondary-text);border-color:var(--secondary-color);background-color:transparent}.btn-outline-secondary:active,.btn-outline-secondary:focus,.btn-outline-secondary:hover{color:var(--secondary-text);background-color:var(--secondary-hover);border-color:var(--secondary-hover)}.btn-info{background-color:var(--info-color);border-color:var(--info-border);color:var (--info-text)}.btn-info:active,.btn-info:focus,.btn-info:hover{background-color:var(--info-hover);border-color:var(--info-hover);color:var(--info-text)}.btn-outline-info{color:var(--info-color);border-color:var(--info-border);background-color:transparent}.btn-outline-info:active,.btn-outline-info:focus,.btn-outline-info:hover{background-color:var(--info-hover);border-color:var(--info-border);color:var(--white-color)}.btn-success{background-color:var(--success-color);border-color:var(--success-border);color:var(--success-text)}.btn-success:active,.btn-success:focus,.btn-success:hover{background-color:var(--success-hover);border-color:var(--success-hover);color:var(--success-text)}.btn-outline-success{color:var(--success-color);border-color:var(--success-border);background-color:transparent}.btn-outline-success:active,.btn-outline-success:focus,.btn-outline-success:hover{background-color:var(--success-color);border-color:var(--success-border);color:var(--success-text)}.btn-warning{background-color:var(--warning-color);border-color:var(--warning-border);color:var(--warning-text)}.btn-warning:active,.btn-warning:focus,.btn-warning:hover{background-color:var(--warning-hover);border-color:var(--warning-hover);color:var(--warning-text)}.btn-outline-warning{color:var(--warning-color);border-color:var(--warning-border);background-color:transparent}.btn-outline-warning:active,.btn-outline-warning:focus,.btn-outline-warning:hover{background-color:var(--warning-color);border-color:var(--warning-border);color:var(--white-color)}.btn-danger{background-color:var(--danger-color);border-color:var(--danger-border);color:var(--danger-text)}.btn-danger:active,.btn-danger:focus,.btn-danger:hover{background-color:var(--danger-hover);border-color:var(--danger-hover);color:var(--white-color)}.btn-outline-danger{color:var(--danger-color);border-color:var(--danger-border);background-color:transparent}.btn-outline-danger:active,.btn-outline-danger:focus,.btn-outline-danger:hover{background-color:var(--danger-color);border-color:var(--danger-border);color:var(--white-color)}.btn-sm{padding:.25rem .5rem;font-size:.875rem}.btn-lg{padding:.5rem 1rem;font-size:1.25rem}.btn-link{color:var(--link-color);text-decoration:none;background-color:transparent;border:none;padding:8px;font-weight:300}.btn-link:active,.btn-link:focus,.btn-link:hover{color:var(--link-hover);text-decoration:underline;outline:none;box-shadow:none}.navbar .navbar-nav .nav-link{color:var(--font-color)!important}.card{border:1px solid var(--card-color)}.card,.card-header{background-color:var(--card-color)}.card-header{color:var(--card-text);font-weight:600;border-bottom:1px solid var(--card-border)}.card-body{color:var(--font-color)}.card-footer{background-color:var(--card-color);color:var(--card-text);border-top:1px solid var(--card-border)}.card-title{color:var(--card-title-color)!important}input,select,textarea{border:1px solid var(--border-color);border-radius:12px;background-color:var(--card-color);color:var(--font-color);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input:focus,select:focus,textarea:focus{outline:2px solid var(--outline-color);box-shadow:0 0 0 .2rem rgba(141,110,99,.25)}.table{border-collapse:separate;border-spacing:0;width:100%;color:var(--font-color);border-radius:12px;overflow:hidden}.table,.table td,.table th{background-color:var(--card-color);border:1px solid var(--border-color)}.table td,.table th{padding:12px;color:var(--font-color)!important}.table thead th{background-color:var(--bg-color);color:var(--font-color);font-weight:700;border-bottom:2px solid var(--primary-color)}.table tbody tr{transition:all .3s ease;color:var(--font-color)}.table tbody tr:nth-child(2n){background-color:var(--card-hover);color:var(--font-color)}.table tbody tr:hover{background-color:var(--secondary-color);color:var(--font-color)!important}.table .form-control,.table input,.table select,.table textarea{background-color:var(--card-hover);border-color:var(--border-color);color:var(--font-color)}.table .form-control:focus{background-color:var(--bg-color);border-color:var(--primary-color);color:var(--font-color)}.table a,.table div,.table p,.table span,.table td:not([data-label]),.table td[data-label]{color:var(--font-color)!important}.table .btn{margin:2px;padding:4px 8px}.table-responsive{border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.3);margin-bottom:2rem}.table-header{border-radius:12px 12px 0 0;margin-bottom:-1px}.table-footer,.table-header{background-color:var(--bg-color);padding:15px}.table-footer{border-radius:0 0 12px 12px;margin-top:-1px}.alert{border-radius:12px;padding:15px;margin-bottom:20px;box-shadow:0 3px 5px rgba(0,0,0,.3)}.alert-info{background-color:var(--info-color);border-color:var(--info-border);color:var(--info-text)}.alert-success{background-color:var(--success-color);border-color:var(--success-border);color:var(--success-text)}.alert-warning{background-color:var(--warning-color);border-color:var(--warning-border);color:var(--warning-text)}.alert-danger{background-color:var(--danger-color);border-color:var(--danger-border);color:var(--danger-text)}.pagination{display:flex;padding:0;list-style:none;border-radius:.25rem}.pagination .page-item{margin:0}.pagination .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:var(--font-color);text-align:center;background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.25rem;box-shadow:0 3px 5px rgba(0,0,0,.3)}.pagination .page-link:active,.pagination .page-link:focus,.pagination .page-link:hover{z-index:1;color:var(--white-color);background-color:var(--primary-hover);border-color:var(--primary-hover)}.pagination .page-item.active .page-link{z-index:3;color:var(--white-color);background-color:var(--primary-color);border-color:var(--primary-color)}.pagination .page-item.disabled .page-link{color:var(--font-color);background-color:var(--white-color);border-color:var(--font-color)}.modal-content{background-color:var(--card-color);color:var(--font-color)}.modal-header{border-bottom:1px solid var(--border-color)}.modal-footer{border-top:1px solid var(--border-color)}.btn-close,.modal-header .btn-close{color:var(--danger-text);background-color:var(--danger-color)}.modal-header .btn-close{border:none;padding:.5rem;border-radius:4px;opacity:.9;box-shadow:0 2px 4px rgba(0,0,0,.2)}.modal-header .btn-close:hover{background-color:var(--danger-hover);color:var(--white-color);opacity:1}.form-control{border-color:var(--border-color)}.form-control,.form-control:focus{background-color:var(--card-color);color:var(--font-color)}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(139,69,19,.25)}.form-control::placeholder{color:var(--font-color);opacity:.7}.card-body .text-muted,.text-muted{color:var(--text-muted)!important}.card-body a{color:var(--link-color)}.card-body a:hover{color:var(--link-hover)}.card-body div[dangerouslySetInnerHTML]{color:var(--font-color)}.library-detail-container{border-radius:10px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:8px}.library-card,.library-detail-container{background-color:var(--card-color)}.library-card-content{overflow:hidden;flex:1 1}ol,ul{color:var(--font-color)}.dropdown-menu,ol,ul{background-color:var(--card-color)}.dropdown-menu{border:1px solid var(--border-color)}.dropdown-item{color:var(--font-color)}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--secondary-color);color:var(--font-color)}.list-group,.list-group-item{background-color:var(--card-color)}.list-group-item{border-color:var(--border-color);color:var(--font-color)}.list-group-item:hover{background-color:var(--secondary-color)}.list-group-item.active{background-color:var(--primary-color);border-color:var(--primary-border)}.custom-file-label,.form-check-label,.form-label,label{color:var(--font-color)!important}.form-text{color:var(--text-muted)!important}.form-check-input{background-color:var(--card-color);border-color:var(--border-color);color:var(--font-color)}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-select,.input-group-text{border-color:var(--border-color)}.form-select,.form-select:focus,.input-group-text{background-color:var(--card-color);color:var(--font-color)}.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(139,69,19,.25)}