@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-base{background:linear-gradient(90deg,var(--skeleton-base, #f0f0f0) 25%,var(--skeleton-highlight, #e8e8e8) 50%,var(--skeleton-base, #f0f0f0) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@media(prefers-color-scheme:dark){.skeleton-base{--skeleton-base: #2a2a2a;--skeleton-highlight: #3a3a3a}}@media(prefers-reduced-motion:reduce){.skeleton-base{animation:none;background:var(--skeleton-base, #f0f0f0)}}.skeleton-card{display:flex;flex-direction:column;gap:12px}.skeleton-card-content{display:flex;flex-direction:column;padding:4px 0}.skeleton-card-text{margin-top:12px}.skeleton-card-product{min-width:180px}.skeleton-card-article{min-width:280px}.skeleton-card-event{padding:16px;background:var(--skeleton-card-bg, #fafafa);border-radius:12px}.skeleton-event-date{display:flex;flex-direction:column;align-items:center;min-width:60px}.skeleton-shelf{padding:24px 0}.skeleton-shelf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px}.skeleton-shelf-horizontal{display:flex;gap:16px;overflow:hidden;padding:4px}.skeleton-shelf-card{flex-shrink:0}.skeleton-shelf-grid{display:grid;gap:16px;padding:4px}.skeleton-hero{display:flex;align-items:center;justify-content:space-between;padding:48px 24px;min-height:320px;background:var(--skeleton-hero-bg, #f5f5f7);border-radius:20px;margin-bottom:32px}.skeleton-hero-content{flex:1;max-width:50%}.skeleton-hero-media{width:40%;aspect-ratio:4 / 3}@media(max-width:768px){.skeleton-hero{flex-direction:column;padding:32px 16px;min-height:auto}.skeleton-hero-content{max-width:100%;text-align:center}.skeleton-hero-media{width:80%;margin-top:24px}}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--skeleton-list-bg, #fafafa);border-radius:12px}.skeleton-list-item-content{flex:1}.skeleton-navbar{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;border-bottom:1px solid var(--skeleton-border, #f0f0f0);z-index:100}.skeleton-navbar-inner{max-width:1440px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}.skeleton-navbar-logo{flex-shrink:0}.skeleton-navbar-nav{display:none;gap:8px}@media(min-width:1024px){.skeleton-navbar-nav{display:flex}}.skeleton-navbar-actions{display:flex;align-items:center;gap:12px}.skeleton-page-wrapper{min-height:100vh;background:#fff}.skeleton-page{max-width:1440px;margin:0 auto;padding:24px}.skeleton-page-header{margin-bottom:24px}.skeleton-category-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding:4px}.skeleton-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}@media(max-width:768px){.skeleton-products-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.skeleton-page-appointment{display:flex;gap:24px}.skeleton-map{flex:2;min-height:400px;background:var(--skeleton-map-bg, #f5f5f7);border-radius:16px}.skeleton-appointment-list{flex:1;min-width:300px}@media(max-width:1024px){.skeleton-page-appointment{flex-direction:column}.skeleton-map{min-height:250px}.skeleton-appointment-list{min-width:auto}}.skeleton-date-picker{display:flex;align-items:center;gap:16px;padding:16px;background:var(--skeleton-picker-bg, #fafafa);border-radius:16px;margin-bottom:24px}.skeleton-date-days{display:flex;gap:12px;flex:1;justify-content:center}.skeleton-date-day{display:flex;flex-direction:column;align-items:center;gap:4px}.skeleton-leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.skeleton-leader-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:var(--skeleton-card-bg, #fafafa);border-radius:16px}.skeleton-knowledge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.skeleton-events-list{display:flex;flex-direction:column;gap:16px}.skeleton-image-wrapper{position:relative;overflow:hidden}.skeleton-image-wrapper .skeleton-base{position:absolute;inset:0}
