.skeleton-actions,.skeleton-avatar,.skeleton-card,.skeleton-cards,.skeleton-chart,.skeleton-content,.skeleton-field,.skeleton-filters,.skeleton-form,.skeleton-header,.skeleton-row,.skeleton-table,.skeleton-title{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-skeleton{padding:2rem}.skeleton-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.skeleton-title{height:32px;width:200px}.skeleton-actions{height:32px;width:120px}.skeleton-cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.skeleton-card{height:150px;padding:1rem}.skeleton-chart{height:300px}.profile-skeleton{max-width:600px;padding:2rem}.skeleton-avatar{border-radius:50%;display:block;height:100px;margin:0 auto 2rem;width:100px}.skeleton-field{height:48px;margin-bottom:1rem}.transactions-skeleton{padding:2rem}.skeleton-filters{height:48px;margin-bottom:2rem;width:300px}.skeleton-table{border-radius:8px;overflow:hidden}.skeleton-row{height:60px;margin-bottom:1px}.skeleton-row:last-child{margin-bottom:0}.generic-skeleton{padding:2rem}.generic-skeleton .skeleton-header{height:60px;margin-bottom:2rem}.generic-skeleton .skeleton-content{height:400px}.initial-loading-state,.loading-placeholder{align-items:center;color:#666;display:flex;font-family:Roboto,Arial,sans-serif;font-size:1.1em;justify-content:center;min-height:300px}.loading-spinner{position:relative}.loading-spinner:after{animation:spin 1s ease-in-out infinite;border:2px solid #ddd;border-radius:50%;border-top-color:#007bff;content:"";display:inline-block;height:20px;margin-left:10px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){.skeleton-actions,.skeleton-avatar,.skeleton-card,.skeleton-cards,.skeleton-chart,.skeleton-content,.skeleton-field,.skeleton-filters,.skeleton-form,.skeleton-header,.skeleton-row,.skeleton-table,.skeleton-title{background:linear-gradient(90deg,#2a2a2a 25%,#1a1a1a 50%,#2a2a2a 75%);background-size:200% 100%}}@media (max-width:768px){.skeleton-cards{grid-template-columns:1fr}.skeleton-filters{width:100%}.dashboard-skeleton,.generic-skeleton,.profile-skeleton,.transactions-skeleton{padding:1rem}}