@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes skeleton-wave{0%{transform:translate(-100%)}50%,to{transform:translate(100%)}}.skeleton-animated .skeleton-line,.skeleton-animated .skeleton-avatar,.skeleton-animated .skeleton-button,.skeleton-animated .skeleton-input{position:relative;overflow:hidden}.skeleton-animated.skeleton-pulse .skeleton-line,.skeleton-animated.skeleton-pulse .skeleton-avatar,.skeleton-animated.skeleton-pulse .skeleton-button,.skeleton-animated.skeleton-pulse .skeleton-input{animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-animated.skeleton-shimmer .skeleton-line:after,.skeleton-animated.skeleton-shimmer .skeleton-avatar:after,.skeleton-animated.skeleton-shimmer .skeleton-button:after,.skeleton-animated.skeleton-shimmer .skeleton-input:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:2s infinite skeleton-shimmer;position:absolute;inset:0}.skeleton-animated.skeleton-wave .skeleton-line:after,.skeleton-animated.skeleton-wave .skeleton-avatar:after,.skeleton-animated.skeleton-wave .skeleton-button:after,.skeleton-animated.skeleton-wave .skeleton-input:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.6s linear infinite skeleton-wave;position:absolute;inset:0}[data-theme=dark] .skeleton-line,[data-theme=dark] .skeleton-avatar,[data-theme=dark] .skeleton-button,[data-theme=dark] .skeleton-input{background-color:#ffffff14!important}[data-theme=dark] .skeleton-animated.skeleton-shimmer .skeleton-line:after,[data-theme=dark] .skeleton-animated.skeleton-shimmer .skeleton-avatar:after,[data-theme=dark] .skeleton-animated.skeleton-shimmer .skeleton-button:after,[data-theme=dark] .skeleton-animated.skeleton-shimmer .skeleton-input:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}[data-theme=dark] .skeleton-animated.skeleton-wave .skeleton-line:after,[data-theme=dark] .skeleton-animated.skeleton-wave .skeleton-avatar:after,[data-theme=dark] .skeleton-animated.skeleton-wave .skeleton-button:after,[data-theme=dark] .skeleton-animated.skeleton-wave .skeleton-input:after{background:linear-gradient(90deg,#0000,#ffffff26,#0000)}@media (width<=768px){.skeleton-card,.skeleton-list,.skeleton-table,.skeleton-form,.skeleton-dashboard{padding:12px!important}.skeleton-table{grid-template-columns:repeat(2,1fr)!important}}@media print{.skeleton-animated{animation:none!important}.skeleton-line,.skeleton-avatar,.skeleton-button,.skeleton-input{background-color:#f5f5f5!important}}@media (prefers-reduced-motion:reduce){.skeleton-animated{animation:none!important}.skeleton-animated .skeleton-line:after,.skeleton-animated .skeleton-avatar:after,.skeleton-animated .skeleton-button:after,.skeleton-animated .skeleton-input:after{display:none;animation:none!important}}.theme-preview{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:8px;padding:16px}.theme-preview h4{color:var(--ant-color-text);margin-bottom:16px;font-weight:500}.theme-preview-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.theme-preview-item{background:var(--ant-color-bg-elevated);border:1px solid var(--ant-color-border-secondary);cursor:pointer;border-radius:6px;align-items:center;padding:12px;transition:all .2s;display:flex}.theme-preview-item:hover{border-color:var(--ant-color-primary);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.theme-preview-icon{background:var(--ant-color-bg-container);width:40px;height:40px;color:var(--ant-color-primary);border-radius:6px;justify-content:center;align-items:center;margin-right:12px;font-size:20px;display:flex}.theme-preview-info{flex:1}.theme-preview-title{color:var(--ant-color-text);margin-bottom:4px;font-weight:500}.theme-preview-description{color:var(--ant-color-text-secondary);font-size:12px;line-height:1.4}[data-theme=dark] .theme-preview-item{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .theme-preview-item:hover{border-color:var(--ant-color-primary);background:#ffffff14;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .theme-preview-icon{background:#ffffff14}.theme-switch-transition{transition:background-color .3s,color .3s,border-color .3s}.theme-indicator{vertical-align:middle;border-radius:50%;width:20px;height:20px;margin-right:8px;display:inline-block;position:relative}.theme-indicator-light{background:linear-gradient(135deg,gold 0%,#ff8c00 100%);box-shadow:0 0 10px #ffd70080}.theme-indicator-dark{background:linear-gradient(135deg,#001529 0%,#1890ff 100%);box-shadow:0 0 10px #1890ff80}.theme-indicator-system{background:linear-gradient(135deg,#52c41a 0%,#1890ff 100%);box-shadow:0 0 10px #52c41a80}.ant-btn.theme-switch-btn:hover{background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.ant-btn.theme-switch-btn:active{background:var(--ant-color-primary-bg-hover)}.ant-dropdown-menu.theme-dropdown-menu{min-width:180px;padding:8px 0}.ant-dropdown-menu-item.theme-dropdown-item{justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.ant-dropdown-menu-item.theme-dropdown-item:hover{background:var(--ant-color-primary-bg)}.ant-dropdown-menu-item.theme-dropdown-item-selected{background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}@media (width<=768px){.theme-preview-grid{grid-template-columns:1fr}.theme-preview-item{padding:10px}.theme-preview-icon{width:32px;height:32px;font-size:16px}}@media (prefers-reduced-motion:reduce){.theme-preview-item,.theme-switch-transition,.ant-btn.theme-switch-btn{transition:none!important}.theme-preview-item:hover{transform:none!important}}@media (prefers-contrast:high){.theme-preview-item{border-width:2px}.theme-indicator{border:2px solid}}.lazy-image{background-color:#fafafa;transition:background-color .3s;position:relative;overflow:hidden}.lazy-image-content{width:100%;height:100%;transition:opacity .3s,filter .3s;display:block}.lazy-image-loading{z-index:1;background-color:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lazy-image-spinner{border:3px solid #f3f3f3;border-top-color:#1890ff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite lazy-image-spin}@keyframes lazy-image-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-gallery{gap:16px;margin:16px 0;display:grid}.image-gallery-item{border-radius:8px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.image-gallery-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.image-gallery-caption{color:#fff;text-align:center;opacity:0;background:linear-gradient(#0000,#000000b3);padding:12px;font-size:14px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.image-gallery-item:hover .image-gallery-caption{opacity:1}[data-theme=dark] .lazy-image{background-color:#ffffff0a}[data-theme=dark] .lazy-image-loading{background-color:#0009}[data-theme=dark] .lazy-image-spinner{border-color:#1890ff #ffffff1a #ffffff1a}[data-theme=dark] .image-gallery-item{border-color:#ffffff14}@media (width<=768px){.image-gallery{gap:12px;grid-template-columns:repeat(2,1fr)!important}.lazy-image-spinner{border-width:2px;width:32px;height:32px}}@media (width<=576px){.image-gallery{gap:8px;grid-template-columns:1fr!important}}@media print{.lazy-image{break-inside:avoid}.lazy-image-content{filter:none!important}.lazy-image-loading,.lazy-image-spinner{display:none!important}.image-gallery{display:block!important}.image-gallery-item{page-break-inside:avoid;margin-bottom:16px}}@media (prefers-reduced-motion:reduce){.lazy-image-content,.image-gallery-item,.lazy-image-spinner{transition:none!important;animation:none!important}.lazy-image-spinner{display:none}.image-gallery-item:hover{transform:none!important}}@media (prefers-contrast:high){.lazy-image{border:2px solid}.lazy-image-spinner{border-color:#1890ff currentColor currentColor}}@media (hover:none) and (pointer:coarse){.image-gallery-item:hover{transform:none!important}.image-gallery-caption{opacity:.8!important}}.lazy-image.priority{background-color:#0000}.lazy-image.priority .lazy-image-content{opacity:1;filter:none}.lazy-image.progressive .lazy-image-content{opacity:0;animation:.5s forwards lazy-image-fade-in}@keyframes lazy-image-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lazy-image.error{background-color:#fff2f0;border-color:#ffccc7}.lazy-image.error:before{content:"⚠️";opacity:.5;font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
