.asset-card{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;height:100%;border-radius:8px;overflow:hidden}.asset-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.asset-card-thumbnail{position:relative;background-color:#f8f9fa}.asset-card{min-height:44px}.asset-tag{display:inline-block;font-size:.7rem;padding:.15rem .5rem;border:1px solid #dee2e6;border-radius:12px;color:#6c757d;background-color:#f8f9fa;line-height:1.4}.asset-card .btn,.asset-card .badge,.asset-card .position-absolute{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media (max-width: 767.98px){.library-content .row{--bs-gutter-x: 1rem;--bs-gutter-y: 1rem}.asset-card{margin-bottom:1rem}.asset-card .card-body{padding:1rem}.asset-card .badge{font-size:.875rem;padding:.5rem .75rem}}@media (min-width: 768px) and (max-width: 991.98px){.library-content .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 1.5rem}.asset-card{margin-bottom:1.5rem}}@media (min-width: 992px) and (max-width: 1199.98px){.library-content .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 1.5rem}.asset-card{margin-bottom:1.5rem}}@media (min-width: 1200px){.library-content .row{--bs-gutter-x: 2rem;--bs-gutter-y: 2rem}.asset-card{margin-bottom:2rem}}.group-section{margin-bottom:3rem}.group-name{font-size:1.25rem;font-weight:600;color:#212529;margin-bottom:.5rem;display:inline-block;border-bottom:3px solid #f2cd3a;padding-bottom:.25rem}.group-description{font-size:1rem;color:#6c757d;margin-bottom:1.5rem}.filter-sidebar{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;font-size:.8125rem}.library-nav-item{font-size:.8125rem}.library-nav-item:hover{background-color:#f8f9fa!important}.library-nav-item:focus-visible{outline:2px solid var(--primary-color, #f2cd3a);outline-offset:-2px}.library-nav-active,.library-nav-active .small{color:#f2cd3a!important}.filter-section{margin-bottom:1rem}.filter-section h6{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem;color:#495057}.filter-option{display:flex;align-items:center;justify-content:space-between;padding:.15rem 0;cursor:pointer;min-height:26px}.filter-option:hover{background-color:#f8f9fa;border-radius:4px;padding-left:.35rem;padding-right:.35rem}.filter-option input[type=checkbox]{min-width:14px;min-height:14px;width:14px;height:14px;cursor:pointer}.filter-option label{font-size:.8125rem;text-transform:capitalize}.filter-count{font-size:.675rem;color:#6c757d;margin-left:.2rem;white-space:nowrap}.active-filters-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-chip{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:#e9ecef;border-radius:20px;font-size:.875rem;min-height:44px}.filter-chip button{background:none;border:none;margin-left:.5rem;cursor:pointer;padding:.25rem;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center}.filter-chip button:hover{color:#dc3545}.search-bar{position:relative}.search-bar input{padding-left:2.5rem;min-height:44px}.search-bar .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6c757d}.search-bar .clear-button{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.search-bar .clear-button:hover{color:#dc3545}.sort-dropdown .dropdown-toggle{min-height:44px;display:flex;align-items:center;justify-content:space-between}.library-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.library-header-thumbnail{max-width:80px;max-height:80px;object-fit:contain;border-radius:8px}.library-header-info h1{font-size:1.5rem;font-weight:700;margin-bottom:0;color:#212529}.library-header-info p{font-size:.9rem;color:#6c757d;margin-bottom:0}.empty-state{padding:4rem 2rem;text-align:center}.empty-state i{font-size:4rem;color:#dee2e6;margin-bottom:1rem}.empty-state h4{color:#6c757d;margin-bottom:.5rem}.empty-state p{color:#adb5bd}.file-item{transition:background-color .2s ease-in-out}.file-item:hover{background-color:#f8f9fa}.file-item .btn{min-width:44px;min-height:44px}.file-preview-modal{max-width:90vw}.file-preview-modal .modal-content{border-radius:12px;overflow:hidden}.file-preview-modal .modal-body{background-color:#f8f9fa}.child-libraries-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #dee2e6}.child-library-card{cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;min-height:44px}.child-library-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:400px}.error-display{margin:2rem 0}@media (max-width: 767.98px){.library-header-info h1{font-size:1.25rem}.library-header-info p{font-size:.85rem}.group-name{font-size:1.5rem}.library-controls{flex-direction:column}.library-controls>*{width:100%;margin-bottom:1rem}.filter-drawer-toggle{min-width:44px;min-height:44px;padding:.75rem 1.5rem}}@media (min-width: 768px) and (max-width: 991.98px){.library-header-info h1{font-size:1.35rem}}.asset-card:focus,.filter-option:focus,.filter-chip button:focus,.search-bar input:focus,.child-library-card:focus{outline:2px solid #0d6efd;outline-offset:2px}@media (prefers-contrast: high){.asset-card{border:2px solid currentColor}.filter-chip{border:1px solid currentColor}}@media (prefers-reduced-motion: reduce){.asset-card,.child-library-card,.filter-chip button{transition:none}}.error-display{padding:2rem 1rem}.error-display .alert{border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-display .alert-heading{font-weight:600;font-size:1.5rem}.error-display p{font-size:1rem;line-height:1.5}.error-display .btn{min-width:120px;min-height:44px;font-weight:500}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:3rem 1rem}.loading-spinner p{margin-top:1rem;font-size:1rem;color:#6c757d}.empty-state{background-color:#f8f9fa;border-radius:12px;padding:3rem 2rem;margin:2rem 0}.empty-state h5{font-weight:600;color:#495057}.empty-state p{color:#6c757d;margin-bottom:0}.empty-state .btn{min-width:140px;min-height:44px;font-weight:500}@media (max-width: 767.98px){.error-display .alert-heading{font-size:1.25rem}.error-display p{font-size:.9375rem}.empty-state{padding:2rem 1rem}.empty-state h5{font-size:1.125rem}}
