.favorites-page{background:var(--bg-color);flex-direction:column;min-height:100vh;display:flex}.favorites-main{padding:var(--spacing-2xl)var(--spacing-md);flex:1}.favorites-container{max-width:1400px;margin:0 auto}.favorites-header{margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);display:flex}.favorites-title-section{flex:1}.favorites-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm)0;align-items:center;gap:var(--spacing-sm);display:flex}.favorites-title .icon{color:var(--primary)}.favorites-subtitle{font-size:var(--font-size-md);color:var(--text-secondary);margin:0}.favorites-loading{padding:var(--spacing-3xl)var(--spacing-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.favorites-loading .loading-spinner{border:4px solid var(--border-light);border-top-color:var(--primary);width:48px;height:48px;margin-bottom:var(--spacing-md);border-radius:50%;animation:.8s linear infinite spin}.favorites-loading p{color:var(--text-secondary);font-size:var(--font-size-md)}.favorites-empty{min-height:400px;padding:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;max-width:500px}.empty-icon{margin-bottom:var(--spacing-lg);color:var(--text-secondary);opacity:.4;justify-content:center;display:flex}.empty-state h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-md)0}.empty-state p{font-size:var(--font-size-md);color:var(--text-secondary);margin:0 0 var(--spacing-lg)0;line-height:var(--line-height-relaxed)}.favorites-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}@media (max-width:1200px){.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.favorites-main{padding:var(--spacing-lg)var(--spacing-md)}.favorites-header{flex-direction:column;align-items:stretch}.favorites-title{font-size:var(--font-size-2xl)}.favorites-subtitle{font-size:var(--font-size-sm)}.favorites-grid{gap:var(--spacing-md);grid-template-columns:1fr}.empty-state{padding:var(--spacing-lg)}.empty-state h2{font-size:var(--font-size-xl)}}@media (max-width:480px){.favorites-header{margin-bottom:var(--spacing-lg)}.favorites-title{font-size:var(--font-size-xl)}}
