.favorites-scroll{height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));background:var(--bg-primary);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.favorites-container{width:100%;max-width:var(--container-width);flex:1 0 auto;margin:0 auto;padding:32px 24px}.favorites-scroll .page-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.favorites-scroll .back-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.favorites-scroll .back-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.favorites-scroll .breadcrumbs{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.favorites-scroll .breadcrumbs a{color:var(--text-secondary)}.favorites-scroll .breadcrumbs a:hover{color:var(--accent-color)}.favorites-scroll .page-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-bottom:24px;display:flex}.favorites-scroll .page-title h1{color:var(--text-primary);margin-bottom:8px;font-size:32px;font-weight:800}.favorites-scroll .page-title p{color:var(--text-secondary);font-size:16px}.favorites-scroll .page-actions{gap:12px;display:flex}.favorites-scroll .action-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.favorites-scroll .action-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.favorites-scroll .action-btn.danger:hover{color:#ef4444;border-color:#ef4444}.favorites-loading{border:1px solid var(--border-color);color:var(--text-secondary);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-weight:600;display:flex}.loading-dot{background:var(--accent-color);border-radius:999px;width:10px;height:10px;animation:1.1s ease-in-out infinite favPulse}@keyframes favPulse{0%,to{opacity:.5;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.favorites-grid-section{width:100%}.favorites-listbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.favorites-count{color:var(--text-secondary);font-size:14px}.favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.favorites-grid-item{min-width:0}.favorites-pagination{align-items:center;gap:10px;display:flex}.favorites-pagination.bottom{justify-content:center;margin-top:18px}.page-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,border-color .15s,opacity .15s;display:inline-flex;box-shadow:0 6px 16px #0000000f}.page-btn span{font-size:26px;line-height:1}.page-btn:hover{border-color:var(--accent-color)}.page-btn:active{transform:scale(.97)}.page-btn:disabled{opacity:.4;cursor:default}.page-meta{color:var(--text-secondary);white-space:nowrap;font-size:14px;font-weight:600}.favorites-scroll .favorite-btn.remove svg{color:#ef4444}.favorites-scroll .empty-state{text-align:center;border:1px dashed var(--border-color);background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:none}.favorites-scroll .empty-state.visible{display:flex}.favorites-scroll .empty-state-icon{background:var(--bg-input);color:#9ca3af;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:24px;display:flex}.favorites-scroll .empty-state h2{color:var(--text-primary);margin-bottom:12px;font-size:24px}.favorites-scroll .empty-state p{color:var(--text-secondary);max-width:400px;margin-bottom:32px;line-height:1.5}.favorites-scroll .primary-btn{background:var(--accent-color);color:#fff;border-radius:14px;padding:14px 32px;font-size:16px;font-weight:600;transition:transform .2s;box-shadow:0 4px 12px #69afdf4d}.favorites-scroll .primary-btn:hover{transform:translateY(-2px)}.favorites-scroll .footer{border-top:1px solid var(--border-color);background:#fff;flex:none;margin-top:auto;padding:28px 0}.favorites-scroll .footer-content{max-width:var(--container-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:0 24px;display:flex}.favorites-scroll .footer-logo{opacity:.85;width:auto;height:32px}.favorites-scroll .footer-brand{align-items:center;display:inline-flex}.favorites-scroll .copyright{color:var(--text-secondary);font-size:14px}.favorites-scroll .footer-links{gap:20px;display:flex}.favorites-scroll .footer-links a{color:var(--text-secondary);font-size:14px}@media (max-width:1100px){.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.favorites-scroll .page-header{flex-direction:column;align-items:flex-start;gap:16px}.favorites-scroll .page-actions{width:100%}.favorites-scroll .action-btn{flex:1;justify-content:center}.favorites-container{padding:24px 16px}.favorites-listbar{flex-direction:column;align-items:flex-start}.favorites-grid{grid-template-columns:1fr}.favorites-pagination.bottom{justify-content:space-between;width:100%}.favorites-scroll .footer-content{text-align:center;flex-direction:column;align-items:center}}
