.spinner-container{justify-content:center;align-items:center;display:inline-flex}.spinner-container.sm .spinner{border-width:2px;width:16px;height:16px}.spinner-container.md .spinner{border-width:3px;width:32px;height:32px}.spinner-container.lg .spinner{border-width:6px;width:64px;height:64px}.spinner-container.xl .spinner{border-width:8px;width:128px;height:128px}.spinner-container .spinner{border-style:solid;border-color:#0000001a;border-left-color:var(--main-color-one);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.empty-container{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-icon{color:currentColor;opacity:.3;margin-bottom:1rem}.empty-message{color:#374151;font-size:1.125rem;font-weight:600}.empty-description{color:#9ca3af;margin-top:.5rem;font-size:.875rem}
.pagination-container{justify-content:center;align-items:center;gap:6px;margin-top:40px;margin-bottom:20px;display:flex}.pagination-btn{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e1e1e1;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background:#f4f5f7;border-color:#d1d1d1}.pagination-btn.active{background:var(--main-color-one);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9f9f9}.pagination-ellipsis{color:#888;padding:0 4px}
.view-switcher-container{background:#f4f5f7;border-radius:20px;min-width:140px;padding:4px;display:inline-flex;position:relative;box-shadow:inset 0 2px 4px #0000000d}.view-switcher-indicator{z-index:0;background:#fff;border-radius:16px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .5s;position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #00000014}.grid-active .view-switcher-indicator{transform:translate(0)}.list-active .view-switcher-indicator{transform:translate(100%)}.view-switcher-btn{color:#888;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:color .3s;display:flex;position:relative}.view-switcher-btn i{color:inherit;font-size:16px}.view-switcher-btn.active{color:var(--main-color-one);font-weight:600}
